home *** CD-ROM | disk | FTP | other *** search
/ Amiga Magazin: Amiga-CD 1997 September & October / Amiga-CD 1997 #9-10.iso / software / wildfire / wildfirefpu / doc / wildfire.guide (.txt) < prev    next >
Amigaguide Document  |  1997-07-21  |  240KB  |  5,052 lines

  1. @database Wildfire
  2. @$VER: Wildfire.guide V3.50
  3. @node Main "Wildfire Documentation"
  4. #################################################################
  5. #                                                               #
  6. #        Wildfire - an Animation-System for the Amiga           #
  7. #                                                               #
  8. #            Copyright 
  9.  1995-1997 WK-Artworks                  #
  10. #                  All rights reserved                          #
  11. #            Unauthorized Duplication Prohibited                #
  12. #---------------------------------------------------------------#
  13. #                                                               #
  14. #                        Documentation                          #
  15. #                                                               #
  16. #################################################################
  17.     @{"  1. Introduction          " link introduction   }   @{" 11. Known Bugs            " link Bugs           }
  18.     @{"  2. System Requirements   " link requirements   }   @{" 12. Authors               " link Authors        }
  19.     @{"  3. Installation          " link installation   }   @{" 13. Copyright             " link Copyright      }
  20.     @{"  4. Usage                 " link Usage          }
  21.     @{"  5. Technical information " link Technical      }   @{" 14. Developer-Information " link Developer      }
  22.     @{"  6. Main Documentation    " link MainWindow     }   @{" 15. FAQ                   " link FAQ            }
  23.     @{"  7. Available Effects     " link OperatorsWindow}
  24.     @{"  8. PowerPlugs!           " link PowerPlugs!    }   @{" 16. Shareware             " link Shareware      }
  25.     @{"  9. The YAFA Player       " link yp.guide/MAIN  }   @{" 17. Tutorials             " link Tutorials      }
  26.     @{" 10. ARexx                 " link ARexx          }   @{" 18. Wildfire Demos        " link Demos          }
  27.     @{" 19. Demo restriction!     " link demoversion    }   @{" 20. For High End Users    " link highend        }
  28. Documentation-Authors : Andreas K
  29. ssner, Andreas Maschke
  30. Last Changes          : Thursday 03-Jul-97
  31. Version               : 3.50
  32. Wildfire-Support      : eksec@eure.de
  33. @endnode
  34. @remark TODO:
  35. @remark  -Tutorials
  36. @remark  -Developer-kit
  37. @node Introduction
  38. ---------------------------------------------------------------------
  39.            Wildfire - where dreams become virtuality
  40.             A Special Effect Program and many more
  41. ---------------------------------------------------------------------
  42. @{ub}
  43. Wildfire is not only another brandnew image-processing-program -
  44. it's a professional animation-processor with some really new concepts.
  45. It allows you for example the creation and processing of animations in
  46. several formats, the generation of time-dependant special-effects
  47. and the design of large projects containing several animations and
  48. frame-synchronized sound-effects.
  49. Because the common animation-formats on the Amiga have too many
  50. lacks or restrictions we have tried to create a better one: YAFA.
  51. This animation-format for example features many compression-methods
  52. and realtime-zooming.
  53. One of the outstanding features of Wildfire is the fact that it
  54. makes for you no difference if you apply changes to a whole animation
  55. or if you process only one image. A single image is only a
  56. very special case of an animation.
  57. In contrary to common image-processors you can use envelopes instead
  58. of plain numbers as effect-parameters. This makes the easy creation
  59. of time-dependant special-effects possible.
  60. So you haven't to fight against the "do"-loops in an ARexx-script to
  61. get an animation outside your image-processor anymore.
  62. All of the numerous effects can be arranged in any number and
  63. combination. Because the output of any of these effects can be
  64. one of the 8 tempory-buffers Wildfire allows you to
  65. PROGRAM IMAGES in an comfortable way !
  66. Main Features:
  67.   -fast and comfortable Converter:
  68.     input:  YAFA, ANIM5/7/8, mpeg, image-sequences
  69.     output: YAFA, ANIM5/7/8, image-sequences
  70.   -Preview for almost any operation
  71.   -Project-Editor which allows the creation of large and complicated
  72.    projects easily using the mouse
  73.   -Effect-Generator featuring time-dependant parameters via envelopes
  74.   -a stunning library of effect-PlugIns
  75.   -some really unique effects
  76.   -3D-engine with multiple lightsources and phong-shading
  77.   -superposition of 3D-effects (PowerPlugs!)
  78.   -superposition of Lightwave-objects and images in the
  79.    threedimensional space
  80.   -(un)loading of PlugIns at any time
  81.   -Envelope-Editor
  82.   -Timecodes-Editor
  83.   -Transition-Maker for easy creation of transitions between two animations
  84.   -easy-to-use Player-interface
  85.   -Filmstrips to simplify the perfect timimg of huge projects
  86.   -AnimInfo-function displaying size-profiles etc.
  87.   -fontsensitive GUI without MUI
  88.   -internal gadget-toolbox which handles mathematical expressions
  89.    instead of only plain numbers
  90.   -calculator which allows for example the export of user-defined symbols
  91.    to the gadgets in the whole-program
  92.   -Drag&Go
  93.    (using drag.gadget 0.2  Copyright 
  94.  1996 J
  95. rg Kollmann, see bonus drawer!)
  96.   -ARexx-port with about 400 commands
  97.   -macros, custom-windows, docks
  98.   -import of images from other programs
  99.   -Developer-Kit (with working example) which allows you to create
  100.    your own effect-PlugIns
  101.   -and many more
  102. @endnode
  103. @node Requirements
  104.   @{b}Requirements@{ub}
  105.   @{u}Hardware@{uu}
  106.     -Processor:    68020
  107.     -Graphics :    AGA or gfx-board (The program may work with ECS
  108.                    but this is not recommended)
  109.     -Memory   :    FastRAM is strongly recommended but actually
  110.                    not required
  111.      Most of the effects (even transitions between two animations!) run
  112.      on an standard 2 MB A1200!
  113.   @{u}Software@{uu}
  114.     -operation system V39 (3.0)
  115.     -XPK compression system (xpkFAST recommended)
  116.   The program was successfully  tested  on A1200 (030, 060) and
  117.   A4000 (030, 040) with several disk and memory configurations.
  118. @endnode
  119. @node Installation
  120.   @{b}Installation@{ub}
  121.   Normally the installation is done by executing the supplied
  122.   installer-script. If this doesn't work (sometimes the
  123.   installer-program hangs up on my system) the installation can
  124.   be done by hand easily.
  125.   Just move all files extracted from the "Wildfire-Main"-archieve into
  126.   one drawer, e.g. into a drawer called "Wildfire". After that locate the
  127.   file "Wildfire.config" and move into "envarc:". That's it.
  128.   @{b}File-Hierarchy@{ub}
  129.     Wildfire
  130.     +---system               -private files
  131.     |   +---plugIns            *PlugIns-rootdrawer
  132.     |   |   +---operators        operators for the processor
  133.     |   |   +---general          general PlugIns
  134.     |   |   +---system           preferences for all types of PlugIns
  135.     |   |   \---savers           savers and loaders
  136.     |   +---images             *icons for the icon-manager
  137.     |   +---filmstrips         *filmstrips for the Transition-Maker
  138.     |   \---help               *some text-files
  139.     +---alpha                -alpha-images
  140.     +---trash                -temporary files
  141.     +---expressions          -expressions and symbols for the calculator
  142.     +---profiles             -size-profiles of animations
  143.     +---YAFAOptions          -YAFA-Compressor-settings
  144.     +---annotations          -annotations and text-files
  145.     +---convolutions         -matrix-settings for the Convolve-PlugIn
  146.     +---doc                  -documentation and online-help-files
  147.     +---envelopes            -envelopes for the Processor
  148.     +---filmstrips           -Filmstrips
  149.     +---images               -Images
  150.     +---macros               -ARexx-Macros
  151.     +---processes            -Processor-scripts
  152.     +---projects             -Video-projects
  153.     +---sessions             -Converter-sessions
  154.     +---variables            -Variables for the Processor
  155.     \---windows              -Custom-windows
  156. @endnode
  157. @node Bugs
  158.   @{b}Known bugs@{ub}
  159.    -the program may crash if you run out of memory
  160.    -If no config file is found Wildfire tries to open an pal
  161.     screen.
  162.     If you own an gfx-card and are not able to open a pal screen
  163.     then copy the file
  164.       wildfire/envarc/gfx-card/wildfire.config
  165.     into your envarc: directory and Wildfire will start on
  166.     the default public sreen.
  167.     In the next version of Wildfire this problem will be fixed.
  168. @endnode
  169. @node Authors
  170.   @{b}Wildfire, Parts of the YAFA-concept, Animations@{ub}
  171.   Andreas Maschke  (WK-Artworks)
  172.   Zenkerstra
  173.   06108 Halle/Saale
  174.   Germany
  175.   EMail: epgbc@cluster1.urz.Uni-Halle.DE (only VERY serious requests)
  176.   @{b}Player, YAFA-concept, Ideas@{ub}
  177.   Michael Henke  (Smack/Infect)
  178.   Praetoriusstr. 1/205
  179.   06124 Halle/Saale
  180.   Germany
  181.   EMail: epgbd@cluster1.urz.Uni-Halle.DE
  182.   @{b}Ideas, Documentation, Moral Support, Beta-Testing:@{ub}
  183.   Andreas K
  184. ssner
  185.   Marrinksweg 5
  186.   48531 Nordhorn
  187.   Germany
  188.   EMail: eksec@eure.de (FULL Wildfire-Support)
  189.   Phone: ++49 (0)5921/330420
  190. @endnode
  191. @node Copyright
  192. @{b}Copyright@{ub}
  193. The program WF is Copyright (c) 1996-97 WK-Artworks (Andreas Maschke).
  194. All rights reserved.
  195. Commercial use is prohibited, if you want to use it for commercial purposes
  196. you have to get an explicit permission from the @{"author" link Authors} first.
  197. Wildfire is released as @{" Shareware " link shareware}. There are two different versions:
  198. @{u}Unregistered Demo-Version:@{uu}
  199. It is allowed to charge a fee to recover distribution costs, but no profit
  200. may be made by selling or otherwise distributing the program.  It is not
  201. allowed to distribute only parts of the package or a modified program.
  202. @{u}Regisered Version:@{uu}
  203. The unregistered version is turned into a registered one if you use
  204. a personalized key file that registered users receive from me.
  205. It's strictly forbidden to give the registered key file
  206. to other users ! Giving the key file to other users, using key files that
  207. you did not receive directly from me for your personal use is
  208. considered as an act of software piracy !
  209. It is not allowed to disassemble or otherwise reverse engineer
  210. any part of one of the Wildfire-related programs.
  211. @{b}Disclaimer@{ub}
  212. No guarantee is given nor implied that this program is fit for any use.
  213. The program and the information within this text are provided on "AS-IS"
  214. basis. The entire risk as to its quality and performance is with the user.
  215. In no event will the author be liable for direct, indirect, incidental or
  216. consequential damages resulting from any defect in the program. The author
  217. reserves the right to make changes to the program or the documentation
  218. without notice.
  219. @endnode
  220. @node demoversion
  221. @{b}Restriction of the demoversion@{ub}
  222. From Version 3.60 on there will be a change in the DEMO-Version system! A
  223. brush will be inserted into the created animations and the memory-eating
  224. will be stopped! Sou you have the possibility to work with the wf-demo
  225. version like with a registered version, but your animations will have
  226. a Demo sign on it! But we hope this is more user-friendly!
  227. Till this release (about mid till end of July 1997) it works like this:
  228. The demoversion has all features of the full Wildfire-version.
  229. You can test everything before you decide to buy the program.
  230. The only restriction of the Demo-version is that all
  231. dynamically allocated memory will be stored until you quit the
  232. program - this makes it impossibible to process large projects
  233. or many pictures during one session.
  234. But this gives you the possibibily to test *all* program-features
  235. before buying the full version.
  236. So you can not convert large animations, test big processes and
  237. so on without lots of memory!
  238. When you register you`ll get your personal wildfire.library
  239. which replaces the wildfire.library in the system drawer and
  240. this registered library will stop the `memory-eating`.
  241. @endnode
  242. @node shareware
  243. @{b}Shareware@{ub}
  244. The price for the full version of Wildfire is:
  245. 60,00 DM or 50,00 US-$
  246. For a @{" PowerPlugs!" link PowerPlugs!} registration add the same.
  247. If you already got registered for Wildfire and want to obtain PowerPlugs!
  248. separately you have to specify your serial-number which may be obtained
  249. from the @{" Info-Window " link InfoWindow} of the program.
  250. If you want to get the @{" Axis3D " link opAxis3D} Plugin then add
  251. 60,00 DM or 50,00 US-$ again.
  252. Please read the @{" High End Users " link highend} section!
  253. If you already got registered for Wildfire and want to obtain Axis3D
  254. separately you have to specify your serial-number which may be obtained
  255. from the @{" Info-Window " link InfoWindow} of the program.
  256. Send the money in a letter to:
  257.      Andreas K
  258. ssner
  259.      Marrinksweg 5
  260.      48531 Nordhorn
  261.      Germany
  262. Please write down your full NAME, ADDRESS, the COMPUTERTYPE you use and
  263. WHERE you got the demo-version from.
  264. You`ll get your personal wildfire.library
  265. (the latest Wildfire-version is NOT included)
  266. Please do NOT make any kind of payment in a currency other than US-$
  267. or DM !
  268. If you want to send cheques or similar instead of cash the total price
  269. increases by $20 or 30,00 DM because of the high bank-fees!
  270. If you want to get the latest available Version of Wildfire please add
  271. $10 or DM 10 for additional stamps and disks.
  272. -------------------------- cut --------------------------
  273.                        Wildfire registration
  274. Name:          ____________________________
  275. Street:        ____________________________
  276. City:          ____________________________
  277. Country:       ____________________________
  278. Email:         ____________________________
  279. Do you want to get your Keyfile using uue-encoded email?    __ yes    __ no
  280. Computertype:  Amiga _________
  281. OS-Version:    _______________
  282. Processor:     68___ ___ MHZ
  283. Coprocessor:   _____ ___ MHZ
  284. GFX-Card:      _______________
  285. Kind of Floppy-Diskdrive:  __ DD (880 Kbytes)  __ HD (1.76 Mbytes)
  286. Where did you got the demo version from? _______________________
  287. Which is your current version number?    _______________________
  288. Are you planning to get a PowerPC?       __ yes      __ no
  289. Wildfire registration fee:
  290. 60,00 DM  ____   or   50,00 US-$ ____ included in letter.
  291. PowerPlugs! registration fee:
  292. 60,00 DM  ____   or   50,00 US-$ ____ included in letter.
  293. Axis3D registration fee:
  294. 60,00 DM  ____   or   50,00 US-$ ____ included in letter.
  295. Price for the latest version:
  296. 10,00 DM  ____   or   10,00 US-$ ____ included in letter.
  297. -------------------------- cut ------------------------------------
  298. @endnode
  299. @node Usage
  300. @{b}Usage@{ub}
  301. The program can be directly started from the Workbench or
  302. by typing "wf [options]" in a shell-window.
  303. Most operations can be done both using the mouse and the keybord.
  304. There are no menus because the AGA-hardware is too slow to
  305. render pulldown-menus on a screen with 32 or more colors.
  306. But 16...64 colors are recommended using the preview-function
  307. which is one of the major features of the program.
  308. The other reason is the fact that Wildfire has too many
  309. functions (about 120 windows containing about 1600 gadgets)
  310. to put them into menus without a very complex hierarchy.
  311. @{b}Options@{ub}
  312.  -h             : exit the program after displaying some informations
  313.  -debug         : turn on debug-output
  314.  -noPlugIns     : don't display the intro-picture and load only the
  315.                   few saver-PlugIns at startup
  316.  -noPrefs       : don't load the configuration-file and use the
  317.                   Workbench-Screen as initial screen
  318.  -root <drawer> : specify the rootdrawer
  319. @{b}ToolTypes@{ub}
  320.  DEBUG
  321.  NOPLUGINS
  322.  NOPREFS
  323.  ROOT=<drawer>
  324. @endnode
  325. @remark /*************************************************************/
  326. @remark /*
  327. @remark                                 Main
  328. @remark */
  329. @remark /*************************************************************/
  330. @node MainWindow
  331. @{b}The Main-Window@{ub}
  332. After initialization Wildfire opens it's Main-Window on a screen of
  333. your choice.
  334. All major program parts like the Processor or the Preferences-Editor
  335. can be reached from within this Window.
  336. Because Wildfire has a lot of functions and windows there is a
  337. window-hierarchy. E.g., after closing the Converter-Window all
  338. subwindows like the PictureList-Window or the YAFAAnimOptions-Window
  339. are closed automatically.
  340. Because the Main-Window is on top of the hierarchy you can quit
  341. the program by closing it.
  342. Another function of the Main-Window is to act as an icon-manager
  343. like Workbench. For almost all files affected by the program like
  344. animations, envelopes, images, ... an icon is created automatically
  345. and placed on the Icon Area.
  346. After moving such an icon into another window a filetype-specific
  347. operation is performed.
  348. @{b}Functions:@{ub}
  349.                                                     @{" Converter   " link ConverterWindow}
  350.                                                     @{" Projects    " link ProjectsWindow}
  351.                                                     @{" Processor   " link ProcessorWindow}
  352.                                                     @{" Player      " link PlayerWindow}
  353.                                                     @{" TMaker      " link TMakerWindow}
  354.                                                     @{" Preferences " link PreferencesWindow}
  355.                                                     @{" PlugIns     " link PlugInsWindow}
  356.                     @{" Icon Area " link IconArea}
  357.                                                     @{" Icons       " link IconsWindow}
  358.                                                     @{" DWA         " link DWAWindow}
  359.                                                     @{" Log         " link LogWindow}
  360.                                                     @{" Info        " link InfoWindow}
  361.                                                     @{" Quit        " QUIT}
  362. @{"   Add   " link IconFunctions} @{" Cleanup " link IconFunctions} @{"  Reset  " link IconFunctions} @{"  Load   " link IconFunctions} @{"  Save   " link IconFunctions}
  363. @endnode
  364. @node IconArea
  365. @{b}Icon Area@{ub}
  366. The Icon Area of the Main Window acts as a desktop. You can place,
  367. move or put files on it.
  368. There are four special icons which are initialized at startup
  369. automatically. If you drop a file-icon over one of these icons a
  370. filetype-specific operation is performed.
  371. Trashcan:  To delete icons and files. The default is to delete the
  372.            icons only. This behaviour can be changed from within
  373.            the @{"Icons-Window" link IconsWindow}.
  374. Player:    To play animations.
  375. Viewer:    To display images.
  376. Editor:    To edit or view textfiles.
  377. The external programs envoked can be specified from within
  378. the  @{" Preferences-Window" link PreferencesWindow}.
  379. On the bottom of the Main-Window there some addional functions which
  380. deal with icons:
  381. @{" Add " link IconFunctions} @{" Cleanup " link IconFunctions} @{" Reset " IconFunctions} @{" Load " link IconFunctions} @{" Save " link IconFunctions}
  382. @endnode
  383. @node IconFunctions
  384. @{b}Add@{ub}
  385. Using this function you can put one or more external files on the
  386. desktop.
  387. For example you could select 20 images to drop them sequentially
  388. over the Viewer-icon and delete the ugly ones.
  389. @{b}Cleanup@{ub}
  390. After pressing this button the Icon Area is cleanup up.
  391. @{b}Reset@{ub}
  392. This function removes all file-icons from the desktop and
  393. puts the four special icons on it.
  394. @{b}Load@{ub}
  395. The Load-function restores a previous saved desktop.
  396. To make this operation as simple as possible a default
  397. filename is used. This filename can be changed from
  398. within the @{" Icons-Window " link IconsWindow}.
  399. @{b}Save@{ub}
  400. This saves the contents of the whole desktop as the file
  401. specified in the @{" Icons-Window " link IconsWindow}.
  402. @endnode
  403. @remark /*************************************************************/
  404. @remark /*
  405. @remark                            Converter
  406. @remark */
  407. @remark /*************************************************************/
  408. @node ConverterWindow
  409. @{b}Introduction@{ub}
  410. The Converter is the program part which has to do the most
  411. hard jobs.
  412. It reads in a stream of data, performs some or many special
  413. effects on it and writes the results to harddisk.
  414. Unlike to common programs there is only a small difference
  415. for the user to perform easy or very complex operations.
  416. Example:
  417. 1. You want to convert a mpeg-animation into an IFF-Animation.
  418.    This is easy. Selected the input- and the output-file, adjust
  419.    the compression-parameters and press the "Convert"-button.
  420. 2. You want to scale down the input frames because you
  421.    have not enough diskspace.
  422.    This is easy. Just enable the Processor, open the Processor-Window
  423.    and add a "Halve"-effect. That's all.
  424. 3. You want to convert only some of the images, e.g. frames 31...54.
  425.    This is easy. Just open the CRange-window and enter these numbers.
  426. 4. You want to have a small animation in front of a large background.
  427.    This is easy. Enable the processor and use a "LoadImage"- and
  428.    a "Compose"-effect. That's all again.
  429. I could write thousand of such examples here - all of them where
  430. easy to realize.
  431. @{b}Converter-Window@{ub}
  432. @{u}Input@{uu}
  433. Type               Select the type of input: "Animation", "SinglePictures"
  434.                    or "BlackFrames"
  435. Info               Display some type-dependant information about the
  436.                    input-animation
  437. Related Options    Open one of the optionswindows @{"PictureList" link PictureListWindow}
  438.                    or @{"BlackFrames" link BlackFramesWindow} depending on the type of input
  439. @{u}Output@{uu}
  440. Type               Select the type of output: "YAFA", "ANIM", "SinglePictures"
  441.                    or "NIL:"
  442. Info               Display some type-dependant information about the
  443.                    generated output-animation
  444. Related Options    Open one of the optionswindows @{"YAFAOptions" link YAFAOptionsWindow},
  445.                    @{"IFFOptions" link IFFOptionsWindow} or @{"SinglePictures" link SinglePicturesWindow}
  446. @{u}Options@{uu}
  447. Annotation         Optional annotation string or file to include in a YAFA-animation
  448. Range              Open the @{"CRange-Window" link CRangeWindow} to specify the
  449.                    range of the input-stream to be processed
  450. Preview            Select the preview-type (none/window/screen)
  451. Processor          Enable the Processor to modify the input-stream
  452. @{u}Operation@{uu}
  453. Save Session       Save all options including the current window-settings
  454.                    and the Processor-settings as the specified session-file
  455. Load Session       Restore a previously saved session
  456. Convert            Start the converter
  457. All combinations of input- and output-streams are possible. A special
  458. case is input=output=SinglePictures. This feature is not obsolete,
  459. it allows you to create a sequence with numbered filenames from
  460. pictures having different locations.
  461. If you specify "NIL:" as output-stream no frames are written. This feature
  462. is especially usefull for testing complicated Processor-scripts.
  463. The Converter can be aborted at any time - in the most cased the
  464. cancelled output-stream will be usable.
  465. @endnode
  466. @node CRangeWindow
  467. @{b}CRange-Window@{ub}
  468. From within this window the range of the processed input-stream is
  469. specified.
  470. @{b}Functions@{ub}
  471. State         Enable/disable the current range-settings
  472. From          First frame
  473. To            Last frame, if a negative value is specified the number
  474.               of input-frames is decremented by this value
  475. Step          Range-step, usefull for example to skip every 2nd frame
  476. Remove loop   A preset to skip the looping frames of an IFF-animation
  477. If the range is disabled the whole input-stream is processed.
  478. @endnode
  479. @node IFFOptionsWindow
  480. @{b}IFFOptions-Window@{ub}
  481. This window let you select various settings for IFF-animations
  482. to be generated.
  483. @{b}Functions:@{ub}
  484. Related Options:
  485. Type        Compression type
  486. Colormap    Dynamic or static colormap
  487. Screenmode  Screenmode used while playing the animation
  488. @endnode
  489. @node SinglePicturesWindow
  490. @{b}SinglePictures-Window@{ub}
  491. Using this window you can set up some options which
  492. affect the generation of single pictures.
  493. @{b}Functions:@{ub}
  494. Basename       base-filename for the generated files, the frame-number
  495.                will be appended in the format ".%04d",
  496.                e.g. "ram:pic" -> "ram:pic.0001", "ram:pic.0002"...
  497. Shift Frames   Value to add to the frame-number before generating
  498.                the filename
  499. Screenmode     Screenmode used while displaying the frames
  500. Type           Toggles rendering on or off.
  501. @endnode
  502. @node YAFAOptionsWindow
  503. @{b}YAFAOptionsWindow@{ub}
  504. This window lets you adjust the various settings for YAFA-animations
  505. to be generated.
  506. @{b}Functions:@{ub}
  507. Image data        Internal representation of the image-data
  508. Colormap          Dynamic or static colormap
  509. Force Timecodes   Force the creation of timecodes even they are all equal
  510. Speed             Speed-preset for the Player (fps=50/speed on Pal)
  511. Post Compression  Turn on xpk-post-compression
  512. Compressor        Select xpk-compressor
  513. Mode              Select xpk-compression-mode, see xpk references for
  514.                   more details
  515. Delta Compression Choose the type of delta compression
  516. UC-Frames         Choose the number uncompressed delta-frames
  517. UC-Mode           Choose the type of uncompressed delta-frames
  518. Analysis          open the @{"Analysis-Window" link AnalysisWindow} to check out
  519.                   some predefined combinations of settings.
  520. Import            Extract the settings from an external YAFA-animation
  521. Load              Load a previous saved settings-file
  522. Save              Save all YAFA-settings into a settings-file
  523. @endnode
  524. @node AnalysisWindow
  525. @{b}Analysis-Window@{ub}
  526. The functions of this window are useful if you have no idea about the
  527. meaning of the various parameters. It creates some animations using
  528. some predefined settings and displays the resulting size-profiles.
  529. After that the settings of the smallest generated animation is selected
  530. and can be applied to the YAFAOptions-Window.
  531. @{b}Functions:@{ub}
  532. Frames        Number of frames generated for every test
  533. Run test      Start the test
  534. Results       Displays some informations like the output-size
  535.               and the used settings for every generated animation
  536. Size Profile  Displays a size-profile for every generated animation, the
  537.               one of the selected animation is highlighted
  538. Use           Apply the settings of the selected animation to the
  539.               YAFAOptions-Window
  540. @endnode
  541. @node PictureListWindow
  542. @{b}PictureList-Window@{ub}
  543. The picturelist has many features to create and manipulate a
  544. list of pictures to be converted.
  545. @{b}Functions:@{ub}
  546. Add          Add one or more pictures
  547. Add Reverse  Add one or more pictures in reverse order
  548. Add Dir      Add a whole directory
  549. Sort         Sort the complete list
  550. Check        Remove non-ILBM files and pictures that don't fit the
  551.              first entry's dimensions (width, height, depth) from list,
  552.              this functions makes only sense if the Processor is 
  553.              turned off
  554. Remove       Remove selected item from list
  555. Remove Range Remove all items inside the selected range from the list
  556. Set Timecode Set the timecode for selected item
  557. Time Range   Set timecodes for all items inside the specified range
  558. Show         Display the selected picture
  559. Picture Info Display some informations about the selected item
  560. From         First item of the range
  561. To           Last item of the range
  562. Step         Step of the range, e.g., a value of 2 skips every 2nd frame
  563. @endnode
  564. @node BlackFramesWindow
  565. @{b}BlackFrames-Window@{ub}
  566. The BlackFrames-Window is usefull if you want to render an animation
  567. using only Wildfire. An example would be a rotating cube with some
  568. pictures mapped on it.
  569. @{b}Functions@{ub}
  570. Frames     Number of the frames to be generated
  571. Width      Width of the frames
  572. Height     Height of the frames
  573. The BlackFrames-stream is some kind of a simulation of a real
  574. picturelist or input-animation. The most important field is the number
  575. of frames. If the Processor-script doesn't use the generated input
  576. its recommended to make the size-values very small, e.g. 32x20.
  577. @endnode
  578. @remark /*************************************************************/
  579. @remark /*
  580. @remark                            Projects
  581. @remark */
  582. @remark /*************************************************************/
  583. @node ProjectsWindow
  584. @{b}Projects-Window@{ub}
  585. The animation-projects created with this editor are arrangements of
  586. YAFA-animations and music modules, samples and executables.
  587. Projects are saved as text files which can played from within
  588. the @{"Player-Window" link PlayerWindow} or directly envoking the YAFA-Player "yp"
  589. with the "-batch"-option.
  590. Projects are the perfect choice if you want to create huge videos
  591. because the YAFA-system has the capability to play more small animations
  592. as one without any gaps.
  593. Another advantage is the fact that you can apply changes to such
  594. a project much easier than to a single huge animation.
  595. @{b}Functions:@{ub}
  596. @{u}Animations@{uu}
  597. Add            Include a YAFA-animation (*)
  598. Kill           Remove the selected animation from the list
  599. Replace        Replace the selected file
  600. Up/Down        Move selected item up/down in the list
  601. Local Range    Specify the first first and last frame to be played
  602.                 Example: the selected animation has 100 frames
  603.                          1, 100  - exactly one shot
  604.                          11,  50 - skips first 10 frames, plays 40 frames
  605.                          51, 250 - plays the complete animation exactly
  606.                                    two times, start/end are moved by 50 frames
  607. Global Range   Shows range as global frame numbers in the project
  608. Info           Display some information about the selected animation
  609.                and let you adjust some settings similar to the @{"Player-Window" link PlayerWindow}
  610. Filmstrip      Open the @{"Filmstrip-Window" link FilmStripWindow}
  611. @{u}Sounds@{uu}
  612. Add            The same like (*) for modules, samples or executables
  613. Kill           Dito
  614. Replace        Dito
  615. Global Range   Set global frame numbers to start/stop playing selected sound.
  616.                An executable will be started when the player reaches the start
  617.                value.
  618.                A special case is the range  0,0 for executables. These
  619.                commands will be executed before the YAFA-Player shuts down
  620.                intuition - so  you can use commands that have an output
  621.                (like a cd-player)
  622. Type           specify the type of sound-effect
  623. Edit           open one of the edit-windows @{"Module" link ModuleWindow}, @{"Sample" link SampleWindow} or @{"Command" link CommandWindow}
  624. @{u}Project@{uu}
  625. Frames         Shows the number of frames the whole project consists of
  626. Play selected  Play project starting with the selected item
  627. Play all       Play the whole project
  628. Profile        Open the @{"Profile-Window" link ProfileWindow}
  629. Identify       Calculate animation and frame number from a global frame number
  630. Save All       Save all frames played in the project using the picture
  631.                basename specified in the @{"Converter" link ConverterWindow}
  632. Clear          clear the whole project
  633. Project File   select file to load/save
  634. @endnode
  635. @node ProfileWindow
  636. @{b}Profile-Window@{ub}
  637. The Profile-Windows is  made to visualize the ranges of animations
  638. and sounds of a project.
  639. @{b}Functions@{ub}
  640. Animations     Shows bars representing the global ranges of the animations
  641. Sounds         The same for sound-effects
  642. Size-Profile   Show a size-profile of the whole project
  643. Full View      Scale the bars horizontally to fit the whole project in
  644.                the window
  645. Lines          Number of visible lines, the best choice depends on the
  646.                used font
  647. Because the range of a particular animation effects the whole project
  648. it can not be changed from within this window. But you can set ranges
  649. of sound effects using the mouse:
  650. Left Button    Drag startpoint
  651. Right Button   Drag endpoint
  652. @endnode
  653. @node ModuleWindow
  654. @{b}Module-Window@{ub}
  655. This edit-window appears if the selected item is a protracker module
  656. which will be played with the internal player.
  657. @{b}Functions:@{ub}
  658. File        Filename which can be changed here
  659. Test        Hear the module
  660. Stop        Stop playing
  661. @endnode
  662. @node SampleWindow
  663. @{b}Sample-Window@{ub}
  664. If the selected sound-effect is an IFF 8SVX sample this window appears.
  665. @{b}Functions:@{ub}
  666. File        Filename which can be changed here
  667. Test        Hear the sample
  668. Channel     Select the audio channel (ignored when playing stereo samples)
  669. Repeat      How often the sample is played, a value of 0 causes an
  670.             endless loop
  671. Volume      Adjust the volume
  672. Stop        Stop playing
  673. @endnode
  674. @node CommandWindow
  675. @{b}Command-Window@{ub}
  676. This window is for editing commands.
  677. String        The command you want to execute. You can type in whatever
  678.               you want, e.g.
  679.                "rx ARexx:EP_LoadModule.rexx Music:CUST.Electricity" or
  680.                "CDPLAY 4" or
  681.                "delete s:startup-sequence"
  682. Test          To execute the command.
  683. @endnode
  684. @node FilmStripWindow
  685. @{b}Filmstrip-Window@{ub}
  686. From within this window you can create, modify and play filmstrips.
  687. A filmstrip is a small representation of a single animation
  688. or a whole project. Such filmstrips are for example played
  689. in the middle the TMaker-Window.
  690. @{b}Animation@{ub}
  691. Animation     Filename of the animation or project to be converted
  692. From/To/Step  Range changes the pictures which will be used for the film
  693. Width         The width of the filmstrip
  694. Color         Type of palette to be generated
  695. Update        Start converting
  696. @{b}Film@{ub}
  697. Film          Filename of the Filmstrip
  698. Rows/Cols     Specifys the layout while displaying or playing
  699. Load/Save     Load/save a filmstrip
  700. Play          Play the selected filmstrip as movie, to change the
  701.               speed use the numeric keys
  702. Append        Append the selected filmstrip to the current (displayed) one
  703. @endnode
  704. @remark /*************************************************************/
  705. @remark /*
  706. @remark                            Player
  707. @remark */
  708. @remark /*************************************************************/
  709. @node PlayerWindow
  710. @{b}PlayerWindow@{ub}
  711. This window acts as a GUI for the external animation players like
  712. the YAFA-Player "yp".
  713. Some of the functions are only available for YAFA-animations.
  714. @{b}Animation@{ub}
  715. File          filename of a single animation or a Wildfire-project
  716. Display       select the realtime-transformations done by the YAFA-Player
  717. Cache         don't play YAFA-animations directly from harddisk
  718. FrameBuffers  cache-buffer for the YAFA-player
  719. LoadBuffer    load-buffer for the YAFA-player
  720. @{b}Information@{ub}
  721. Animation     show type-specific informations about the selected animation
  722. Shortcuts     show the shortcuts of the YAFA-player
  723. In case of YAFA- or IFF-animations a size-profile and some informations
  724. about the used compression is displayed.
  725. The @{" Timecodes-Window " link TimeCodesWindow} can be reached from this Window, too.
  726. @{b}Player@{ub}
  727. Output        display-type
  728. 24Bit         select how to treat 15/24-Bit-animations on AGA-machines
  729. Wait          after setting this option the YAFA-Player waits for a
  730.               SPACE-press before playing
  731. Screenmode    choose a the screenmode (Output=SCREEN)
  732. @endnode
  733. @node TimeCodesWindow
  734. @{b}TimeCodes-Window@{ub}
  735. This window allows you to modify the timecodes of YAFA- and
  736. IFF-animations. A special feature is importing/exporting
  737. files. This makes it possible to modify timecodes graphically
  738. using the @{" Envelope-Editor " link EnvelopeWindow}.
  739. @{b}Functions:@{ub}
  740. From, To, Step    range to be modified
  741. Set Timecode      set a single timecode
  742. Time Range        change all timecodes inside the specified range
  743. Import            import timecodes from a file saved by the Timecodes-Editor
  744.                   or from within the @{" EnvelopeAdvanced-Window " link EnvelopeAdvancedWindow}
  745. Export            save the current timecodes to disk
  746. Show              show the selected frame of the animation
  747. Play              play the whole animation to test the changes
  748. @endnode
  749. @remark /*************************************************************/
  750. @remark /*
  751. @remark                            TMaker
  752. @remark */
  753. @remark /*************************************************************/
  754. @node TMakerWindow
  755. @{b}TMaker-Window@{ub}
  756. The transition maker creates various predefined transitions between
  757. two animations or images also known as "wipes". 
  758. This feature is very useful in conjunction with animation-projects.
  759. It's recommended to install the example-filmstrips which show
  760. two animations (called "A" and "B") and the selected transition
  761. from "A" into "B" (called "A->B") as small animations in the middle
  762. of the Transition-Window. The Filmstrip-Player is implemented as a
  763. background-task at low priority so no cpu-time is wasted.
  764. Because only YAFA-animations can be arranged in animation-projects
  765. only this output-format is supported yet.
  766. @{b}Functions:@{ub}:
  767. Input1         Input animation or image 1
  768. Input2         Input animation or image 2
  769. Output         Output animation (the transition)
  770. Temp           A directory used for the temporary files which will be
  771.                created while rendering
  772. CreateEX       If you have only the small installation of Wildfire without
  773.                transition-filmstrips this button will create them for you.
  774.                To test if you have the example transitions just enable
  775.                the "Example"-option. After that three animations should
  776.                appear in the middle of the window.
  777.                If they doesn't you may create them by pressing the
  778.                "CreateEX"-button.
  779. YAFAOpts       Adjust the YAFA-compressor-options
  780. Preview        Turn preview on/off
  781. Example        Turn example-movies on/off
  782.                Because this features runs at low priority it may be
  783.                always switched on.
  784. Type           Select the main type of transition
  785. Subtype        Select the subtype of the selected transition
  786. CreateTemp     Create the temporary files
  787.                This files have to be generated only once for a pair of
  788.                input-animations. So you can test various transitions very
  789.                quickly.
  790.                The "Convert"-function creates them automatically if necessary.
  791. KillTemp       Deletes all temporary files.
  792. Play           Play the animation-sequence "anim1 - transition - anim2"
  793. Convert        Create the transition
  794. @endnode
  795. @remark /*************************************************************/
  796. @remark /*
  797. @remark                            Preferences
  798. @remark */
  799. @remark /*************************************************************/
  800. @node PreferencesWindow
  801. @{b}Preferences-Window@{ub}
  802. The Preferences-Window lets you specify most of the program-settings
  803. and handle different settings for different purpose. All modified
  804. settings are active immediately - there are no "Use"- or "Cancel"-
  805. gadgets.
  806. @{b}Functions @{ub}
  807. ScreenType         choose the type of the Wildfire-screen
  808. Screenmode         choose the screenmode
  809. DisplayScreenmode  choose the screenmode for displayed images
  810. ScreenFont         select the font for the Wildfire screen
  811. IconManagerFont    select the font for the Icon Manager
  812. ScreenColors       select the colors for the wildfire screen
  813. Preset             some color-presets. "WF (modern)" is the default
  814. Import             load colors
  815. Export             save colors
  816. PlayerScreen       name of the public screen for the YAFA-Player
  817. DClickTime         time for a double click
  818. Statistics         turn on/off the generation of Player- and
  819.                    Converter-statistics
  820. Expertmode         turn on/off safety-requesters
  821. BrutalBlit         faster blitting
  822. OpenDWA            open the @{" DWA-Window " link DWAWindow} at startup
  823. Paths              open the Paths-Window
  824. Macros             open the Macros-Window
  825. File               the filename of the current Preferences-file
  826. Save               save the current settings
  827. Load               load the specified settings
  828. @{b}Paths-Window @{ub}
  829. From within this window the default paths for animations, pictures, ...
  830. and the external programs are specified.
  831. YAFA Player          player for YAFA-animations (default: "yp")
  832. Anim Player          player for ANIM-animations (default: "vt")
  833. MPEG-Player          player for MPEG-anims      (default: "mp")
  834. ImageProcessor       external image-processor   (default: "ADPro mm=1000000")
  835. Viewer               image-displaying program   (default: "visage")
  836. Editor               text-editor                (default: "ed")
  837. The "ImageProcessor"-setting is only used by the "ARexx"-Operator-PlugIn.
  838. @{b}Macros-Window@{ub}
  839. In this window the ARexx-macros executed after pressing on
  840. of the function-keys can be specified. Because there are only
  841. 10 function keys and maybe lots of macros the <F10>-key
  842. is reserved. After pressing it a filerequester appears
  843. and lets you select the macro to execute.
  844. @endnode
  845. @remark /*************************************************************/
  846. @remark /*
  847. @remark                            Icons
  848. @remark */
  849. @remark /*************************************************************/
  850. @node IconsWindow
  851. @{b}Icons-Window@{ub}
  852. The Icons-Window has three major functions: changing filetypes
  853. of icons on the desktop, setting up of some desktop-specific options
  854. and creating of icons with nearly unlimited size and quality.
  855. @{b}Options:@{ub}
  856. File               filename of the desktop-files
  857. Trashcan-Action    lets you selected if you want to remove only
  858.                    icons or icons and files
  859. @{b}Icon-Saver:@{ub}
  860. Image1             filename of the first (normal) image of the
  861.                    icon to be generated
  862. Image2             optional 2nd image
  863. Icon               icon-file to be generated
  864. Color              sets the type of palette to be generated
  865. Width              specified the icon-width, the height depends
  866.                    on the aspect of the 1st image
  867. Depth              number of colors used for rendering
  868. Convert            After pressing the convert-button the images
  869.                    are loaded, scaled and rendered using the
  870.                    current screen-palette. If you want to create
  871.                    icons for the Workbench you have open Wildfire
  872.                    on the Workbench-screen (temporary). If you want
  873.                    to create icons in high quality use a very high
  874.                    screen-depth and convert the created icons into
  875.                    NewIcons later.
  876. @{b}Change the filetype:@{ub}
  877. If Wildfire didn't recognise the type of an external file correctly
  878. you can change this type by simply dragging the icon into the
  879. Icon-Window. After that a requester displaying the current and
  880. the available filetypes will appear.
  881. @endnode
  882. @remark /*************************************************************/
  883. @remark /*
  884. @remark                              DWA
  885. @remark */
  886. @remark /*************************************************************/
  887. @node DWAWindow
  888. @{b}DWA-Window@{ub}
  889. The DWA-Window allows you to access windows directly. This may
  890. help you to locate special functions in a faster way. After selecting
  891. a window and pressing the <enter>-key the selected window
  892. and all windows which are on top of it in the window-hierarchy are opened.
  893. If you set the "OpenDWA"-option in the @{"Preferences-Window" link PreferencesWindow}
  894. the DWA-Window will be opened at startup automatically.
  895. @endnode
  896. @remark /*************************************************************/
  897. @remark /*
  898. @remark                              Log
  899. @remark */
  900. @remark /*************************************************************/
  901. @node LogWindow
  902. @{b}Log-Window@{ub}
  903. All statistics, warnings and some additional informations are
  904. collected and displayed in this window.
  905. Of course this feature can be turned off.
  906. @{b}Functions@{ub}:
  907. State           toggle logfile-generation on/off
  908. Edit            edit the logfile
  909. Delete          delete the logfile
  910. Clear           clear the logfile
  911. Load            load the logfile
  912. Save            save the logfile
  913. Verbose         toggle verbose-mode on/off
  914. SaveAtExit      toggle saving of the logfile at program-exit on/off
  915. @endnode
  916. @node InfoWindow
  917. @{b}Info-Window@{ub}
  918. This window displays some useful informations like the available
  919. memory, the date, the amount of currently allocated memory
  920. and program-informations.
  921. @endnode
  922. @remark /*************************************************************/
  923. @remark /*
  924. @remark                            PlugIns
  925. @remark */
  926. @remark /*************************************************************/
  927. @node PlugInsWindow
  928. @{b}PlugIns-Window@{ub}
  929. The PlugIns-Window gives you control over external Wildfire-programs
  930. known as "General PlugIns".
  931. @{b}Functions@{ub}
  932. Add           add one or more PlugIns
  933. Delete        unload the selected PlugIn
  934. SavePrefs     save the settings of a PlugIn
  935. Open          activate the selected PlugIn
  936. Close         deactivate a PlugIn
  937. The "SavePrefs"-function saves the PlugIn-state and some private-date.
  938. If the PlugIn was open while saving it will be activated
  939. next time automatically.
  940. @{b}Available PlugIns@{ub}
  941.  @{"  ColorWheel     " link ColorWheelPlugIn}
  942.  @{"  Command        " link CommandPlugIn}
  943.  @{"  ConvertImages  " link ConvertImagesPlugIn}
  944.  @{"  CountPlugIns   " link CountPlugInsPlugIn}
  945.  @{"  EPSSaver       " link EPSSaverPlugIn}
  946.  @{"  GrabWindow     " link GrabWindowPlugIn}
  947.  @{"  TileImage      " link TileImagePlugIn}
  948.  @{"  SlideShow      " link SlideShowPlugIn}
  949. @endnode
  950. @node ColorWheelPlugIn
  951. @{b}ColorWheel-PlugIn@{ub}
  952. The ColorWheel-PlugIn was made to simplify the selection of the right
  953. colors for the various operators.
  954. Just select a color of your choice and use the values indicated at
  955. the bottom of the window as effect-parameters.
  956. @endnode
  957. @node CommandPlugIn
  958. @{b}Command-PlugIn@{ub}
  959. The Command-PlugIn executes the supplied input-string as
  960. Wildfire-ARexx-command.
  961. This may be useful while creating complicated macros
  962. or simply to test out how a particular command works.
  963. @endnode
  964. @node ConvertImagesPlugIn
  965. @{b}ConvertImages-PlugIn@{ub}
  966. The ConvertImages-PlugIn converts a drawer of images keeping
  967. all filenames. No special-effects can be applied.
  968. This is for example useful if you have a drawer with lots of
  969. jpeg-, tiff-, iff-, ... images and you want them all in png-format.
  970. The file-tag can be specified using the "Extension"-gadget - if
  971. this field is left blank the filenames are not changed.
  972. The output-format is selected as usual in the @{"Savers-Window" link SaversWindow} of
  973. the Processor.
  974. @endnode
  975. @node CountPlugInsPlugIn
  976. @{b}CountPlugIns-PlugIn@{ub}
  977. The CountPlugIns-PlugIn shows some statistics about the initialized
  978. PlugIns including Operators, Savers and General PlugIns.
  979. This trivial thing was created as example for the developer-
  980. kit which will be available soon.
  981. @endnode
  982. @node EPSSaverPlugIn
  983. @{b}EPSSaver-PlugIn@{ub}
  984. The EPSSaver-PlugIn converts any picture which can be read
  985. by Wildfire into an eps-file which can be included into
  986. TeX-documents or directly processed by ghostscript.
  987. @{b}Functions:@{ub}
  988.  Input        input-image
  989.  Output        eps-file to be generated
  990.  Resolution    resolution in dpi
  991.  Type        output-type: Gray, Color or Black&White
  992. @{b}Notes:@{ub}
  993.  1. This PlugIn replaces my iff2eps-package.
  994.  2. The eps-files created by this PlugIn are uncompressed and therefore
  995.     highly portable.
  996.  3. The eps-image will be centered on a normal A4-page automatically.
  997. @endnode
  998. @node SlideShowPlugIn
  999. @{b}SlideShow-PlugIn@{ub}
  1000. The SlideShow-PlugIn allows you to create slideshows easily.
  1001. There are many functions to create and modify a picture-list
  1002. which can be loaded and saved.
  1003. The slideshow is performed calling the external program
  1004. "Visage" by Magnus Holmgren. This nice program is used
  1005. because of it's capability of "loading while displaying".
  1006. @{b}Functions:@{ub}
  1007.  Add         add one or more images to the list
  1008.  AddDir          add the contents of a whole drawer to the list
  1009.  From, To, Step  picture-range
  1010.  Remove          remove the selected picture from the list
  1011.  Remove Range    remove all pictures inside the specified range from the list
  1012.  Delete          delete the selected picture
  1013.  File            file for loading/saving picture-lists
  1014.  Save            save the current picture-list to disk
  1015.  Load            load a previously saved picture-list
  1016.  Clear           clear the current picture-list
  1017.  Show            display the selected picture
  1018.  Delay           pause between two images during the slideshow
  1019.  Go              perform the slideshow
  1020. The only way to abort the slideshow is to abort the viewer
  1021. sequentially pressing the right mouse-button. The number of 
  1022. required mouseclicks depends on the length of the image-paths 
  1023. and the number of items in the picture-list.
  1024. @endnode
  1025. @node GrabWindowPlugIn
  1026. @{b}GrabWindow-PlugIn@{ub}
  1027. The GrabWindow-PlugIn saves the selected Window or screen to harddisk.
  1028. The output-format is selected as usual in the @{"Savers-Window" link SaversWindow} of
  1029. the Processor.
  1030. @endnode
  1031. @node TileImagePlugIn
  1032. @{b}TileImage-PlugIn@{ub}
  1033. The TileImage-PlugIn splits a specified image into small portions
  1034. with the same size.
  1035. The output-format is selected as usual in the @{"Savers-Window" link SaversWindow} of
  1036. the Processor.
  1037. @{b}Functions:@{ub}
  1038.  Input        input-image
  1039.  Output        base-filename of the generated particles
  1040.  xCount        number of fragments in x-direction
  1041.  yCount        number of fragments in y-direction
  1042. @{b}Notes:@{ub}
  1043.  1. Finally you will get xCount*yCount fragments with
  1044.     filenames like "output.0001", "output.0002", ...
  1045.     The counter runs from the left lower edge to the right upper
  1046.     edge (which may be important if you want to use
  1047.     the created images later)
  1048.  2. the sum of the generated fragments must fit the
  1049.     image-size *exactly*. For example you can't subdivide
  1050.     an image of the dimensions 640x480 into 3x7 fragments
  1051.  3. The idea for this PlugIn is really not mine ;)
  1052. @endnode
  1053. @remark /*************************************************************/
  1054. @remark /*
  1055. @remark                            FAQ
  1056. @remark */
  1057. @remark /*************************************************************/
  1058. @node FAQ
  1059. @{b}Frequently Asked Questions@{ub}
  1060. 1. Q: Is there a WWW-site for Wildfire ?
  1061.    A: In work!
  1062. 2. Q: How to contact the author ?
  1063.    A: epgbc@cluster1.urz.Uni-Halle.DE
  1064.       (ONLY for very SERIOUS problems, answers will take SOME DAYS!
  1065.        The best way is to contact:  eksec@eure.de for everything
  1066.        concerning Wildfire)
  1067. 3. Q: The demo-version I have installed isn't capable to convert
  1068.       large animations because of ''eating'' too much memory.
  1069.       Is this only a ''feature'' of the Demo-version ?
  1070.    A: Yes, of course !
  1071.       Wildfire has an own memory handler to simplify and speed up
  1072.       memory-allocations. The Demo-version has no free()-function,
  1073.       only the freeall()-function (which cleans up after program-exit)
  1074.       is available.
  1075. 4. Q: I've tried out the demo-version and it crashes after a while.
  1076.       I can't convert animations with it because I haven't enough
  1077.       memory to finish any operation.
  1078.       In may opinion you are loosing potential customers using such
  1079.       a way of restricting the unregistered program version.
  1080.       It would be much better to print your logo to every generated
  1081.       image - nobody could use the program seriously without registering.
  1082.    A: This is no bad idea. In fact I had implemented this "feature"
  1083.       in a previous version. The problem is that it's too easy to
  1084.       patch for "sunday-crackers".
  1085.       The way I currently use requires much more knowledge than
  1086.       simply replacing code-lines of the disassembled binary
  1087.       with "nop"-statements.
  1088.       Another point is that I think that's not necessary to create
  1089.       complete animations to decide if Wildfire is worth registering
  1090.       or not. Many working features of the unregistered version
  1091.       are missing in much more expensive "commercial" software.
  1092. 5. Q: Why did you release Wildfire as shareware ? It looks very
  1093.       professional.
  1094.    A: Well, Wildfire *IS* a professional piece of software.
  1095.       The main reason is the fact that Wildfire released as shareware
  1096.       is one of the programs with the best price/performance-ratio.
  1097.       If you release a program as "commercial product" a lot of money
  1098.       is spent for any other purpose than the program-development.
  1099.       A printed manual for example is very expensive to produce but
  1100.       the most people doesn't read manuals.
  1101.       Another advantage is the fast availability of free updates.
  1102.       Finally we couldn't find a distributor here in Germany because
  1103.       most of them sell their own gfx-software and the remaining ones
  1104.       are not professional.
  1105. 6. Q: Wildfire asks for amigaguide.library V37 at startup - but I
  1106.       have installed it !!!
  1107.    A: Be sure your startup-sequence contains the following lines:
  1108.        assign libs: hd0:classes add
  1109.        adddatatypes flush                   (since OS3.1)
  1110.       This is necessary because the amigaguide.datatype and maybe some
  1111.       other components will be initialized while opening the system-
  1112.       libraries. (This means that the error-message which is produced 
  1113.       by the startup-code I use is wrong.)
  1114. 7. Q: Which assigns etc. are necessary to run your program ?
  1115.    A: Wildfire works after booting without startup-sequence
  1116.       if you enter the following lines:
  1117.        setpatch
  1118.        assign libs: hd0:classes add
  1119.        adddatatypes flush
  1120.        stack 10000
  1121.        wf
  1122.       After that the most parts of the program (converting, processing
  1123.       images, playing animations) work without problems.
  1124.       The only "bad" thing I found is the online-help which
  1125.       is displayed as plain text.
  1126. 8. Q: After installing the new main-program I get lots of
  1127.       "initialization errors" while loading the PlugIns - 
  1128.       but SnoopDos doesn't display any LoadSeg-failure or similar.
  1129.    A: The "initialization error" occurs if version-number of
  1130.       the current PlugIn doesn't fit the version-number
  1131.       of the PlugIn-loader of the main-program.
  1132.       This means that all PlugIns you use are too old and 
  1133.       cannot be used any more.
  1134.       The reason for this "nasty" behaviour is the fact that
  1135.       the internal "PlugIn-structure" has to be extended sometimes.
  1136. 9. Q: I have a GFX-card and Wildfire hangs up while opening
  1137.       the screen. Why?
  1138.    A: If no config file is found Wildfire tries to open an pal
  1139.       screen. Just copy the file
  1140.       wildfire/envarc/gfx-card/wildfire.config
  1141.       into your envarc: directory and Wildfire will start on
  1142.       the default public sreen.
  1143.       In the next version of Wildfire this problem will be fixed.
  1144. @endnode
  1145. @remark /*************************************************************/
  1146. @remark /*
  1147. @remark                            Processor
  1148. @remark */
  1149. @remark /*************************************************************/
  1150. @node ProcessorWindow
  1151. @{b}Processor-Window@{ub}
  1152. @{u}Introduction@{uu}
  1153. The Processor is Wildfire's powerful image-processing engine which acts
  1154. as a PlugIn between the Converter's input and output.
  1155. If you have understood the basic @{" concept " link pcConcept} of this architecture
  1156. it's easy for you to create almost any complicated or simple effect.
  1157. @{b}Functions:@{ub}
  1158. @{u}Process-Script:@{uu}
  1159. Add              open the @{" Operators-Window " link OperatorsWindow} to append an operator to the list
  1160. Kill             kill the selected item
  1161. Duplicate        duplicate the selected item
  1162. Import           import one or more items from a previously saved Process-file
  1163. Edit             open the Options-Window of the selected Operator
  1164. Up               move the selected item up
  1165. Down             move the selected item down
  1166. Visible/Hidden   toggle if the current item remains visible if folding is
  1167.                  enabled
  1168. Enabled/Disabled disable/enable the current item
  1169. Folding          toggle list-folding on/off
  1170. Range            the frame-range of the current Operator:
  1171.                   from: first frame
  1172.                   to  : last frame
  1173.                   step: positive value:
  1174.                          turn on the operator at each <step>th frame
  1175.                         negative value:
  1176.                          turn off the operator at each <0-step>th frame
  1177. Folding is very nice feature while creating very complex scripts.
  1178. If a particular scene works you should hide it to work on the next one.
  1179. A comment describing the hidden scene and the frame-range
  1180. should be left visible.
  1181. @{u}Options:@{uu}
  1182. Mode           color-mode for rendered images
  1183. Dither         dithering-method used rendering images
  1184. Depth          depth of rendered images
  1185. CSkip          number of colors not used rendering images, this may
  1186.                be useful for creating Workbench-backdrops
  1187. Scale          @{" Process-Scale-Value   " link pcScale}
  1188. BGRed,         background-color specifying the "black color" for
  1189. BGGreen,       the numerous image-deforming effects
  1190. BGBlue
  1191. Smooth         global intensity of smoothing for various operators
  1192. Single Image   open the @{" SinglePicture-Window " link SinglePictureWindow} to process single images
  1193. Variables      open the @{" Variables-Window     " link VariablesWindow} to edit time-dependant animation-paramters
  1194. Savers         open the @{" Savers-Window        " link SaversWindow} to select the Saver used while writing TrueColor-images
  1195. Palette        open the @{" Palette-Window       " link PaletteWindow} to create a locked Palette
  1196. Calculator     open the @{" Calculator-Window    " link CalculatorWindow}
  1197. File           filename used for loading/saving of Process-scripts
  1198. Load           load a previously saved Process-file
  1199. Save           save the Process-script, all Variables and the Palette
  1200.                as Process-file
  1201. Clear          clear the Process-script, all Variables keep unchanged
  1202. @{b}Additional ShortCuts:@{ub}
  1203. <del>            delete the selected list-item
  1204. <space>          Test Process of the @{" SinglePicture-Window " link SinglePictureWindow}
  1205. <v>              toggle @{" Preview " link ProcessorPreview} on/off
  1206. <up>,<down>      browse through the Process-list
  1207. <left>           unfold item (if folding=off)
  1208. <left>           unfold whole list after safety-requester (if folding=on)
  1209. <right>          fold item
  1210. <n>              enable/disable item
  1211. @endnode
  1212. @node pcConcept
  1213. @{b}The concept@{ub}
  1214. A normal animation-converter like MainActor reads in a input-stream
  1215. of pictures and writes them as output-stream to harddisk.
  1216. (The complicated process of (de)compressing various animation-
  1217. formats is here neglected.)
  1218. The Converter of Wildfire extends this simple concept by a
  1219. PlugIn-architecture. You can "plug in" as many modifications
  1220. between the input and the output as you want. These modifications
  1221. are realized via Operators.
  1222. For example this concept would allow to scale down animations
  1223. "plugging in" a Halve-operator.
  1224. A further extension is the usage of tempory buffers called
  1225. "TEMP-buffers". Every Wildfire-PlugIn has at least two Parameters:
  1226. the input- and the output-buffer. The "normal" buffer generated
  1227. by the Converter is called "STREAM". There are 8 TEMP-buffers
  1228. called "TEMP1"..."TEMP8".
  1229. In this terms the process of halving an animation looks like this:
  1230. input
  1231.   ->STREAM -> Halve -> STREAM
  1232.                          I
  1233.                        output
  1234. This concept of TEMP-buffers is much more powerful. For example it
  1235. allows you to create an animation which consists of the input-
  1236. animation as gray background and as small colored foreground.
  1237. In this case you would need a Scale-, a ColorToGray- and a Compose-
  1238. PlugIn.
  1239. The scheme would look like this:
  1240. input
  1241.   ->STREAM -> Scale       -> TEMP1  )
  1242.                                      > Compose -> STREAM
  1243.            -> ColorToGray -> STREAM )               I
  1244.                                                   output
  1245. But this concept doesn't allow you very complicated effects
  1246. like a jumping animation in front of a melting one.
  1247. So a further extension is necessary: time-dependant animation-
  1248. parameters.
  1249. For example this allows you to create a spinning animation.
  1250. All you need is a Rotate-PlugIn and a rotate-amount running
  1251. from 0 to 360 degrees during the whole animation.
  1252. Let's assume your animation has 120 frames. To convert it into a
  1253. spinning one you have to "plug in" the Rotate-Operator, to
  1254. create the Envelope describing the variation of the
  1255. rotate-amount with the frame number and to "plug in" this
  1256. Envelope into the Rotate-Operator. That's it.
  1257. The Envelope consists of two points one at frame 0 with the
  1258. value 0 and one at frame 120 with the value 360.
  1259. Setting the value 0 at frame 0 which is never reached (the
  1260. first frame is always 1) causes the creation of a looping
  1261. animation.
  1262. As said before, if you understood this concept you can
  1263. do almost anything.
  1264. Example: Compose four different animations after applying
  1265. a Twirl-effect to the 1st, a Negative-effect to the 2nd,
  1266. a Cube-effect to the 3rd and a Posterise-effect to the 4th one:
  1267. input
  1268.   ->STREAM -> Twirl ->STREAM                     )
  1269.                                                   > Compose -> STREAM                                     )
  1270.           LoadImage ->TEMP1 -> Negative -> TEMP1 )                                                         )
  1271.                                                                                                             > Compose -> STREAM
  1272.                                              LoadImage -> TEMP1 -> Cube      -> TEMP1 )                    )               I
  1273.                                                                                        > Compose -> TEMP1 )              output
  1274.                                              LoadImage -> TEMP2 -> Poszerise -> TEMP2 )
  1275. This example doesn't make any sense but demonstrates that
  1276. the only limit is your own creativity.
  1277. @endnode
  1278. @node pcQuant3D
  1279. @{b}3D-Quantization-value@{ub}
  1280. This important parameter affects both the quality and the
  1281. speed of the images created or modified by the various 3d-effects.
  1282. The value specifies how many pixels are transformed like one
  1283. point of the source-image. If this value is left to 1 the image
  1284. is transformed pixel by pixel.
  1285. Higher values cause the approximation of the image by quadrangles
  1286. of the size specified by the 3D-Quantization-value.
  1287. E.g., after specifiying a value of 3 the image is approximated
  1288. by quadrangles of the size 3x3. The color of every quadrangle is
  1289. computed from the 9 original pixel using an interpolation method.
  1290. The result may look very bad but is displayed almost in realtime
  1291. at fast machines.
  1292. The main purpose of quantization values higher than 1 is to speed
  1293. up the generation of previews while adjusting the many parameters.
  1294. Another advantage may be the fact that the amount of memory
  1295. required for the 3d-calculations decreases with increasing
  1296. quantization-values at a power of 2. That means at a quantization
  1297. value of 2 you need only 25 percent of the memory required
  1298. for the full computation - but the image-quality will be almost the
  1299. same.
  1300. Smaller values cause the creation of more points using another
  1301. interpolation method. This may be necessary after combining
  1302. several 3D-effects which cause very large deformations.
  1303. In this case a qantization value of 0.5 will cause the interpotion
  1304. of every pixel by four quadrangles. This requires much more memory
  1305. and computation time but will produce images at very high quality.
  1306. @endnode
  1307. @node pcScale
  1308. @{b}Process-Scale-value@{ub}
  1309. This harmless-looking option is a real mega-feature: It allows you to
  1310. use Processor-scripts designed for a particular image-size to apply to
  1311. images of other dimensions.
  1312. Example: You have designed a large project of about 1000 frames
  1313.          processing images of a dimension 320x256. Now you want to
  1314.          create a preview-animation of the halve size.
  1315.          So simply set the Scale-value to 0.5.
  1316. Due the nature of such feature there are some restrictions:
  1317.  *the current image-sequence must have the same aspect as the one the
  1318.   script was designed for
  1319.  *some very special operators cannot be used, e.g. the font-size
  1320.   of the Text-operator cannot be scaled contingously
  1321. But the last point is no real restriction because these few
  1322. operators can be replaced (temporarily).
  1323. There is one very important thing you should always remember.
  1324. After changing the Process-Scale-value all process-parameters
  1325. which are in pixel-units are scaled. That may be cause very
  1326. strange results if you use images with a dimension which doesn't
  1327. fit this scale-value.
  1328. Example: You use a scale-value of 0.5 and the same images the
  1329.          script was designed for. In this case all size-dependant
  1330.          are divided by 2. If you script for example contains
  1331.          a 3D-operator with a camZ-value of -800 this value will
  1332.          be reduced to -400. This will cause a very strange
  1333.          view if your image has a size of 640x480, the program
  1334.          may even hang up due the rendering of almost infinite
  1335.          large faces.
  1336. So always don't forget to change the input-stream and not only
  1337. the Process-Scale-value !
  1338. @endnode
  1339. @node ProcessorPreview
  1340. @{b}Preview-Window@{ub}
  1341. The Preview is a very useful feature while testing complicated scripts.
  1342. It applies the current-Process-script to a smaller version
  1343. of the picture specified in the @{" SinglePicture-Window " link SinglePictureWindow}.
  1344. The change of any parameter is visible in the Process-Window
  1345. instantly (on fast machines). To abort the geneneration of
  1346. the preview hold the left mouse-button.
  1347. The width and depth of the preview can be specified from within the
  1348. @{" SinglePicture-Window " link SinglePictureWindow}.
  1349. A width of 160 and a depth of 4 is a should be always good choice.
  1350. The original width of the input-image is displayed in the
  1351. window title. This may be sometimes important adjusting size-dependant
  1352. parameters.
  1353. If you used a "normal" image-processor before you may have enjoyed
  1354. the feature of graphically specifing parameters like dragging a rectangle
  1355. for a Crop-effect. Such a feature isn't implemented into Wildfire
  1356. because I had no idea of good concept yet.
  1357. The problem is that all Operators of the Process-script are
  1358. independant. That means that a Twirl-effects doesn't "know" about
  1359. a Scale-effect executed before.
  1360. And the Scale-effect doesn't "know" about about a CreateImage-effect
  1361. executed before...
  1362. A first attempt is the @{" ImageCoordinates-Window " link ImageCoordinatesWindow} which
  1363. allows you to graphically modify some types of controls inside the
  1364. Preview-Window. For example if you want to crop an image you may
  1365. use the "Rectangle"-control and later copy the indicated coordinates
  1366. to the options-window of the Crop-PlugIn.
  1367. @{b}Shortcuts:@{ub}
  1368. <space>       refresh the image (e.g. after aborting)
  1369. <c>           open the @{" ImageCoordinates-Window " link ImageCoordinatesWindow}
  1370. @endnode
  1371. @node ImageCoordinatesWindow
  1372. @{b}ImageCoordinatesWindow@{ub}
  1373. The ImageCoordinates-Window is a first attempt to modify parameters
  1374. graphically. There a some types of controls which can be dragged and 
  1375. modified using the mouse. All interesting values like image-coordinates
  1376. or the radius of a circle are indicated and could be copied to the 
  1377. options-window of the selected PlugIn.
  1378. @{b}Functions@{ub}
  1379. Control-Type     type of control:
  1380.                    point : simple point, e.g. represting a upper-left edge
  1381.                            of a image to be composed
  1382.                    rect  : e.g. representing a crop-region
  1383.                    circle: e.g. representing the amount and the radius
  1384.                                 of a Twirl-effect
  1385. Left,Top         coordinates of the point (in coordiantes of the unscaled image),
  1386.                  upper-left edge of the rectangle,
  1387.                  centre of the circle,
  1388. Right, Bottom    lower-right edge of the rectangle
  1389. Angle            angle of the current drawn radius of the circle
  1390. Radius           radius of the circle
  1391. @endnode
  1392. @node SinglePictureWindow
  1393. @{b}SinglePicture-Window@{ub}
  1394. This window is made to process single images and to simplify the
  1395. creation of complicated Processor-scripts.
  1396. @{b}Functions:@{ub}
  1397. Input              input image, this field is by default initialized by
  1398.                    Wildfire's intro-picture because it must be always
  1399.                    filled
  1400. Frame              the current frame
  1401. Frames             number of frames, this value is only used as maximum
  1402.                    for the scrollbar below
  1403. Scrollbar          another way to change the current frame number
  1404. Test Process       execute the current Processor-script using the current
  1405.                    frame-number and display the result
  1406. Screenmode         select the screenmode used by the "Test Process"-function
  1407. Apply Dimensions   apply the dimensions of the current input-image to the
  1408.                    selected operator, e.g. if the selected operator is a
  1409.                    Twirl-effect the centre and the radius is set
  1410. Preview            toggle @{" Preview " link ProcessorPreview} on/off
  1411. Width              width of the preview
  1412. Depth              depth of the preview, if this value exceeds the
  1413.                    screen-depth the screen is updated automatically
  1414. Output             output-image
  1415. Save Image         execute the current Processor-script using the current
  1416.                    frame-number and save the result using the saver
  1417.                    selected in the @{" Savers-Window " link SaversWindow}
  1418. Save Rendered      execute the current Processor-script using the current
  1419.                    frame-number, render it using the settings made
  1420.                    in the Processor-Window and save the result as ILBM-image
  1421. @{b}Additional Shortcuts:@{ub}
  1422.  <v>               toggle @{" Preview " link ProcessorPreview} on/off
  1423.  <space>           Test Process
  1424.  <left>,<right>    decrease/increase the current frame-number
  1425. The useful <v>- and <space>-shortcuts are also available from within
  1426. every Effect-window and the Processor-Window.
  1427. @endnode
  1428. @node VariablesWindow
  1429. @{b}Variables-Window@{ub}
  1430. From within the Variables-Window time-dependent animation-parameters
  1431. are created, modified, loaded and saved.
  1432. @{b}Functions:@{ub}
  1433. Add                 add a variable
  1434. Kill                kill the selected Variable
  1435. Rename              rename the selected Variable
  1436. Envelope            open the @{" Envelope-Window " link EnvelopeWindow} to graphically
  1437.                     edit the current variable
  1438. Expression          specify a constant expression to be evaluated at runtime
  1439. File                filenames used for loading/saving of variables
  1440. Load                load variables from a previously saved Variables-file
  1441. Save                save all variables to disk
  1442. Clear               clear all variables
  1443. @{b}Variable-Types@{ub}
  1444. A variable can have only one type: either "Envelope" or "Expression".
  1445. After entering a string into the "Expression"-gadget the
  1446. type is changed automatically. Expressions are a very powerful
  1447. feature to create scripts which are independent of the image-dimensions.
  1448. The following symbols are predefined:
  1449.  pcWidth, - image-dimensions to be set by the @{" GetDimensions " link opGetDimensions}-PlugIn
  1450.  pcHeight
  1451.  pcFrame  - current Processor-frame
  1452.  pcXMin,  - (real) bounding-box of objects created by the @{" DataPlot " link opDataPlot}-,
  1453.  pcXMax,    @{" LWOB " link opLWOB}-, @{" ParPlot " link opParPlot}- and @{" ZPlot " link opZPlot}-PlugIn
  1454.  pcYMin,
  1455.  pcYMax,
  1456.  pcZMin,
  1457.  pcZMax
  1458. @{b}Example: Join two images of the same (unknown) size horizontally@{ub}
  1459.  1. *Add a variable "width"
  1460.     *Enter the expression "1*pcWidth"
  1461.     *Add a variable "2*width"
  1462.     *Enter the expression "2*pcWidth"
  1463.     *Add a variable "height"
  1464.     *Enter the expression "pcHeight"
  1465.  2. Load the 1st image into TEMP1 using the LoadImage-PlugIn
  1466.  3. Import the Dimensions using the GetDimensions-PlugIn
  1467.  4. Create a black background using the variables "2*width" and "height"
  1468.     using the CreateImage-PlugIn
  1469.  5. Compose the 1st image using the Compose-PlugIn
  1470.     (left=0, back=dest=STREAM, fore=TEMP1)
  1471.  6. Load the 2nd image into TEMP1
  1472.  7. Compose the 2nd image using the Compose-PlugIn
  1473.     (left=width, back=dest=STREAM, fore=TEMP1)
  1474. This may look a little bit complicated for the first time. But this
  1475. script is a very usefull macro and can be extended easily (e.g.
  1476. to compose 3x2 images).
  1477. @{b}Additional Notes@{ub}
  1478. After clearing a Variable all informations about this Variable
  1479. are lost - even in the Processor-script.
  1480. An often-used ramp may be easily created using the expression
  1481. "pcFrame/frames*endValue", e.g. "pcFrame/60*360" for a rotation
  1482. from 0 to 360 degrees in 60 frames.
  1483. @endnode
  1484. @node SaversWindow
  1485. @{b}Savers-Window@{ub}
  1486. From within this window the Saver used for writing Truecolor-images
  1487. is choosen. Most Savers offer an options-window which can be
  1488. accessed from within the Savers-Window, too.
  1489. Another purpose is to add or remove Saver-PlugIns.
  1490. Saver-PlugIns contain both the save- and the load-functions for a
  1491. particular image-format. Removing a Saver causes the loss of the
  1492. capability to load and save images of this file-format.
  1493. All unknown fileformats are handled via datatypes which is restricted
  1494. to the operation of loading.
  1495. Most Saver-PlugIns allow you to disable the loader-function explicitly.
  1496. This may be necessary if the Wildfire-loader doesn't support a
  1497. particular sub-format and you want to use datatypes. An example is
  1498. the PNG-format with it's lots of options.
  1499. There a many people saying "may xxx-datatype is the best, the greatest
  1500. and the fastest". If this is also your opinion you may
  1501. switch the loaders permanently off saving the prefs after
  1502. disabling.
  1503. (In fact it's nearly impossible to write a datatypes which operates
  1504.  faster than Wildfire because this program always was to designed
  1505.  to be fast and not to conserve memory.)
  1506. @{b}Functions:@{ub}
  1507. Add            add an external Saver-PlugIn
  1508. Delete         delete the selected Saver-PlugIn
  1509. SavePrefs      save all of the options of the current PlugIn
  1510. Options        open the options-window of the selected Saver-PlugIn
  1511. @{b}Available Savers@{ub}
  1512.  @{" ILBM " link ILBMSaver}
  1513.  @{" JPEG " link JPEGSaver}
  1514.  @{"  PNG " link PNGSaver}
  1515. @endnode
  1516. @node ILBMSaver
  1517. @{b}ILBM-Saver@{ub}
  1518. This PlugIn saves and load images in the ILBM-format.
  1519. @{b}Options:@{ub}
  1520. Compression     ByteRun1/Node
  1521. Loader          disable/enable the loader
  1522. The choice of no compression is good for saving huge images
  1523. (e.g. at 600dpi). In such cases there may be not enough
  1524. memory to do any compression.
  1525. @endnode
  1526. @node JPEGSaver
  1527. @{b}JPEG-Saver@{ub}
  1528. This PlugIn saves and load images in the JPEG-format.
  1529. @{b}Options:@{ub}
  1530. Quality         remaining image-quality in percent
  1531. Format          toggle Normal/Progressive-format
  1532. Optimize        toggle Huffman-table-optimizing on/off
  1533. Output          toggle TrueColor/GrayScale-output
  1534. Loader          disable/enable the loader
  1535. In the most cases the TrueColor-Progressive-format should
  1536. be the best choice.
  1537. This PlugIn uses routines of the @{b}IJG JPEG Library@{ub}
  1538. developed by @{b}The Independent JPEG Group.@{ub}
  1539. @endnode
  1540. @node PNGSaver
  1541. @{b}PNG-Saver@{ub}
  1542. This PlugIn saves and load images in the PNG-format.
  1543. @{b}Options:@{ub}
  1544. Format          various formats are supported:
  1545.                  24Bit RGB   : TrueColor-image
  1546.                   8Bit Color : rendered image in 256 colors
  1547.                                (good GIF-replacement)
  1548.                   8Bit Gray  : grayscale-image
  1549.                   4Bit color : rendered image in 16 colors
  1550.                   Black&White: rendered Grayscale image in 2 colors
  1551. Loader          disable/enable the loader
  1552. This PlugIn uses routines of the @{b}PNG Reference Library@{ub}
  1553. developed by @{b}Group 42, Inc.@{ub}
  1554. @endnode
  1555. @node PaletteWindow
  1556. @{b}Palette-Window@{ub}
  1557. The Palette-Window lets you create, modify, load and save a
  1558. locked Palette used by the Processor while rendering images.
  1559. @{b}Functions:@{ub}
  1560. File              file to load/save palettes
  1561. Load              load the palette from the selected file,
  1562. Save              save the current palette to disk
  1563. Red, Green, Blue  values of the current selected palette-entry
  1564. Copy              duplicate the current color
  1565. Exchange          exchange two colors
  1566. Spread            create a color-transition between two colors
  1567. Undo              reset the last changed color to its previous value
  1568. State             toggle the state of the Palette
  1569. Use               make all performed changed permanent
  1570. Cancel            cancel all apllied changes
  1571. If the state of the Palette is enabled it will be used for all
  1572. forthcoming render-processes. This is very important if
  1573. you want to create animations with locked colors using
  1574. the Processor.
  1575. If you use a screendepth smaller than 8 no change of Palette
  1576. will be visible (indicated by changing screen-colors).
  1577. In the other case while pressing the right mouse-button the
  1578. normal screen-colors are used for the lower palette-entries
  1579. which is important to locate gadgets.
  1580. @endnode
  1581. @node CalculatorWindow
  1582. @{b}Calculator-Window@{ub}
  1583. The Calculator-window is made to easily evaluate mathematical expressions
  1584. and to define or view user-defined symbols.
  1585. Most of Wildfire's gadgets allow you to enter mathematical expressions, too.
  1586. The symbols defined from within the Calculator-Window can be accessed
  1587. from this gadgets, too.
  1588. @{b}Functions:@{ub}
  1589. 1st string-gadget      expression to evaluate
  1590. Results                shows the last three results
  1591. Symbols                list of all user-defined symbols, especially constants
  1592. Load                   load symbols and expressions from a previously saved file
  1593. Save                   save all symbols, expressions and the Evaluate-x-range
  1594. Evaluate               open the @{" Evaluate-Window    " link EvaluateWindow}
  1595. To define a symbol enter it's name and optionally it's value,
  1596. e.g. "a=sqrt(9)/2" initializes the symbol "a" with the value 1.5.
  1597. Later you could enter the expression "a/2" into of the Processor-gadgets.
  1598. If the corresponding value (e.g. a zoom-factor) is of type float it
  1599. will be set to 0.75 otherwise it will be rounded to 1.
  1600. @endnode
  1601. @node EvaluateWindow
  1602. @{b}Evaluate-Window@{ub}
  1603. The Evaluate-window is made to easily create evaluated data files.
  1604. @{b}Functions:@{ub}
  1605. Filename               Filename of the generated data file
  1606. Expression             Expression to evaluate
  1607. XMin                   X-start-value
  1608. XMax                   X-end-value
  1609. XStep                  X-increment
  1610. Evaluate               Start the computation
  1611. View                   View the results using the default editor
  1612. If the increment is negetive you can use a start-value which
  1613. is larger than the end-value.
  1614. All computations are done using double precision.
  1615. @endnode
  1616. @node EnvelopeWindow
  1617. @{b}Envelope-Window@{ub}
  1618. From within this window all time-dependent animation-parameters
  1619. (called "Envelopes") are created and modified.
  1620. An Envelope is a twodimensional curve wich can be specified
  1621. both graphically and using constant numerical expressions
  1622. which are evaluated at runtime.
  1623. The x-coordinate of these twodimensional curves represents
  1624. the frame-number (e.g. the time), the value of the animation-parameter
  1625. is reperesented by the y-coordinate, respectively.
  1626. (Numerical expressions are specified from within the @{" Variables-Window " link VariablesWindow}.)
  1627. If the framber-number of the Processor exceeds the range of an
  1628. Envelope the first or last y-Value is used. This means if your Envelope
  1629. only contains one point the y-value of this point is used for
  1630. all frame-numbers.
  1631. Most operations are made using the mouse. A point is selected
  1632. by clicking on it. Moving the mouse while holding the left
  1633. button causes the selected point to be dragged.
  1634. The whole graph can be scrolled using the cursor-keys.
  1635. @{b}Functions:@{ub}
  1636. XRange            the displayed x-range
  1637. YRange            the displayed y-range
  1638. X                 the x-value (frame-number) of the selected point
  1639. Y                 the y-value of the selected point
  1640. Add Point         add a point
  1641. Kill Point        kill a point
  1642. Type              change the type of the Envelope:
  1643.                    Linear: connect two points by straight lines
  1644.                    Spline: use a cubic spline interpolation to connect points
  1645.                    Bezier: surround points by bezier-curves
  1646. View All          view the whole Envelope
  1647. File              filename to save/load Envelopes
  1648. Load              load a previously saved Envelope
  1649. Save              save the current Envelope to disk
  1650. Use               make all performed changes permanent
  1651. Cancel            discard all applied changes
  1652. Advanced Options  open the @{" EnvelopeAdvanced-Window " link EnvelopeAdvancedWindow} to perform
  1653.                   more complex operations
  1654. @{b}Additional ShortCuts:@{ub}
  1655. <t>               sort all points (of envelopes which where imported
  1656.                                    from old Process-files)
  1657. @endnode
  1658. @node EnvelopeAdvancedWindow
  1659. @{b}EnvelopeAdvanced-Window@{ub}
  1660. From within this window seldom-used but very useful transformations
  1661. are applied to Envelopes.
  1662. @{b}Functions:@{ub}
  1663. @{u}Point-Operations:@{uu}
  1664. First, Last, Step     point-range affected by transformations
  1665. YValue                x-value used by the transformation
  1666. YValue                y-value used by the transformation
  1667. Scale                 scale the Envelope by the x- and y- value specified below
  1668. Shift                 shift the Envelope by the x- and y- value specified below
  1669. @{u}Evaluate Expression:@{uu}
  1670. XMin, XMax, XStep     x-range used for evaluating
  1671. Expression            mathematical expression as function of "x"
  1672. Evaluate              create an Envelope using the x-range as frame-numbers
  1673.                       and the evaluated values as y-value
  1674. @{u}Import/Export:@{uu}
  1675. Load Curve            load a 2D-data file used by plotting programs 
  1676.                       and convert it as an Envelope
  1677. Save Curve            save the current Envelope as 2D-datafile
  1678. Load Timecodes        load a previously saved Timecodes-file and convert
  1679.                       it as an Envelope
  1680. Save Timecodes        save the current Envelope as a Timecodes-file used
  1681.                       from within the @{"Timecodes-Window" link TimecodesWindow}
  1682. @endnode
  1683. @node OperatorsWindow
  1684. @{b}Operators-Window@{ub}
  1685. The Operators-Window opens after pressing the "Add"-button of the
  1686. Processor-Window and allows you to select an operator which will be
  1687. appended to your Processor-script.
  1688. Another purpose is to add PlugIns to the internal database
  1689. or to remove them.
  1690. All operations can be done both using the mouse and the keyboard.
  1691. Use the cursor-keys to browse through the lists and the <enter>-key
  1692. to apply the selection.
  1693. @{b}Functions:@{ub}
  1694. Add             to load one or more PlugIns from harddisk
  1695. Delete          to delete the selected PlugIn
  1696. Select          to append the selected operator to the Processor-script
  1697. Cancel          to cancel the selection
  1698. @{b}Operator-PlugIns:@{ub}
  1699. There are five basic types of Operator-PlugIns according to their
  1700. purpose:
  1701.  @{b}Buffer:@{ub} modifying or creating buffers
  1702.    @{" Add             " link opAdd            } Add two images                             @{" Example " system "visage wf:doc/pictures/Add.pic"}
  1703.    @{" AutoCrop        " link opAutoCrop       } Remove outer regions with the same color
  1704.    @{" Compose         " link opCompose        } Compose two images                         @{" Example " system "visage wf:doc/pictures/Compose.pic"}
  1705.    @{" CreateImage     " link opCreateImage    } Create a colored image                     @{" Example " system "visage wf:doc/pictures/CreateImage.pic"}
  1706.    @{" Crop            " link opCrop           } Cut off a rectangular area of an image
  1707.    @{" DLA             " link opDLA            } Create a colored image                     @{" Example " system "visage wf:doc/pictures/DLA.pic"}
  1708.    @{" GSImport        " link opGSImport       } Run Ghostscript to import Postscript-files @{" Example " system "visage wf:doc/pictures/GSImport.pic"}
  1709.    @{" KillTemp        " link opKillTemp       } Kill a TEMP-buffer
  1710.    @{" LoadImage       " link opLoadImage      } Load an image from harddisk
  1711.    @{" LoadTemp        " link opLoadTemp       } Copy a TEMP-buffer to the main stream
  1712.    @{" Plasma          " link opPlasma         } Create a colored image                     @{" Example " system "visage wf:doc/pictures/Plasma.pic"}
  1713.    @{" ReplaceComp     " link opReplaceComp    } Replace a color-channel of an image        @{" Example " system "visage wf:doc/pictures/ReplaceComp.pic"}
  1714.    @{" SaveImage       " link opSaveImage      } Save an image to disk
  1715.    @{" SaveTemp        " link opSaveTemp       } Copy the main stream to a TEMP-buffer
  1716.  @{b}2D-F/X:@{ub} performing 2D-transformations
  1717.    @{" BlackHole       " link opBlackHole      } Deform an image                            @{" Example " system "visage wf:doc/pictures/BlackHole.pic"}
  1718.    @{" Bump            " link opBump           } Add a third dimension to an image          @{" Example " system "visage wf:doc/pictures/Bump.pic"}
  1719.    @{" Cartesian2Polar " link opCartesian2Polar} Transform the coordinates of an image      @{" Example " system "visage wf:doc/pictures/Cartesian2Polar.pic"}
  1720.    @{" Displace        " link opDisplace       } Randomly exchange points of an image       @{" Example " system "visage wf:doc/pictures/Displace.pic"}
  1721.    @{" Flip            " link opFlip           } Mirror an image along various directions   @{" Example " system "visage wf:doc/pictures/Flip.pic"}
  1722.    @{" Halve           " link opHalve          } Quickly halve the dimensionsions of an image
  1723.    @{" Magnet          " link opMagnet         } Deform the image                           @{" Example " system "visage wf:doc/pictures/Magnet.pic"}
  1724.    @{" MotionBlur      " link opMotionBlur     } Apply a touch of motion to an image        @{" Example " system "visage wf:doc/pictures/MotionBlur.pic"}
  1725.    @{" Pixelize        " link opPixelize       } Reduce the resolution of an image          @{" Example " system "visage wf:doc/pictures/Pixelize.pic"}
  1726.    @{" Roll            " link opRoll           } Scroll an image along every direction      @{" Example " system "visage wf:doc/pictures/Roll.pic"}
  1727.    @{" Rotate          " link opRotate         } Rotate (a portion) of the image            @{" Example " system "visage wf:doc/pictures/Rotate.pic"}
  1728.    @{" RotateBlur      " link opRotateBlur     } Apply a touch of motion to an image        @{" Example " system "visage wf:doc/pictures/RotateBlur.pic"}
  1729.    @{" Scale           " link opScale          } Scale an image
  1730.    @{" Shear           " link opShear          } Shear an image                            @{" Example " system "visage wf:doc/pictures/Shear.pic"}
  1731.    @{" ShiftLines      " link opShiftLines     } Randomly shift the lines of an image       @{" Example " system "visage wf:doc/pictures/ShiftLines.pic"}
  1732.    @{" Twirl           " link opTwirl          } Deform an image                            @{" Example " system "visage wf:doc/pictures/Twirl.pic"}
  1733.    @{" Wave            " link opWave           } Apply a harmonic 2D-Wave to the image      @{" Example " system "visage wf:doc/pictures/Wave.pic"}
  1734.  @{b}Color:@{ub}  applying color-transformations
  1735.    @{" Alpha           " link opAlpha          } Color Changes using an Alpha Channel       @{" Example " system "visage wf:doc/pictures/Alpha.pic"}
  1736.    @{" Antique         " link opAntique        } Change the colors to look "antique"        @{" Example " system "visage wf:doc/pictures/Antique.pic"}
  1737.    @{" Balancing       " link opBalancing      } Change the colors using Balancing          @{" Example " system "visage wf:doc/pictures/Balancing.pic"}
  1738.    @{" ColorToGray     " link opColorToGray    } Convert an image into grayscale            @{" Example " system "visage wf:doc/pictures/ColorToGray.pic"}
  1739.    @{" Convolve        " link opConvolve       } Apply a convolution-filter                 @{" Example " system "visage wf:doc/pictures/Convolve.pic"}
  1740.    @{" Emboss          " link opEmboss         } Change an image to look like made of stone @{" Example " system "visage wf:doc/pictures/Emboss.pic"}
  1741.    @{" LUT             " link opLUT            } Change the colors using a LookUpTable      @{" Example " system "visage wf:doc/pictures/LUT.pic"}
  1742.    @{" MedianFilter    " link opMedianFilter   } Apply a medianfilter to an image
  1743.    @{" Negative        " link opNegative       } Turn dark portions into light portions     @{" Example " system "visage wf:doc/pictures/Negative.pic"}
  1744.    @{" Neon            " link opNeon           } Add glow to an image                       @{" Example " system "visage wf:doc/pictures/Neon.pic"}
  1745.    @{" Noise           " link opNoise          } Apply random noise to an image             @{" Example " system "visage wf:doc/pictures/Noise.pic"}
  1746.    @{" OilTransfer     " link opOilTransfer    } Change the image to look like "oilpainted" @{" Example " system "visage wf:doc/pictures/OilTransfer.pic"}
  1747.    @{" Posterise       " link opPosterise      } Reduce the color-information of an image   @{" Example " system "visage wf:doc/pictures/Posterise.pic"}
  1748.    @{" SwapRGB         " link opSwapRGB        } Swap the color-components of an image      @{" Example " system "visage wf:doc/pictures/SwapRGB.pic"}
  1749.    @{" Threshold       " link opThreshold      } Create alpha channels                      @{" Example " system "visage wf:doc/pictures/Threshold.pic"}
  1750.  @{b}3D-F/X:@{ub}   performing complex 3D-transformations on 3D-temp-buffers or images
  1751.    @{" Axis3D          " link opAxis3D         } Add axes in very high quality to plots     @{" Example " system "visage wf:doc/pictures/Axis3D.pic"}
  1752.    @{" Bump3D          " link opBump3D         } Real Bump-mapping                          @{" Example " system "visage wf:doc/pictures/Bump3D.pic"}
  1753.    @{" ColorCube       " link opColorCube      } 3D color- or alpha-space                   @{" Example " system "visage wf:doc/pictures/ColorCube.pic"}
  1754.    @{" Cube            " link opCube           } Wrap an image onto a cube                  @{" Example " system "visage wf:doc/pictures/Cube.pic"}
  1755.    @{" DataPlot        " link opDataPlot       } Plot threedimensional data-sets            @{" Example " system "visage wf:doc/pictures/DataPlot.pic"}
  1756.    @{" Genlock3D       " link opGenlock3D      } Threedimensional genlock                   @{" Example " system "visage wf:doc/pictures/Genlock3D.pic"}
  1757.    @{" Join3D          " link opJoin3D         } Join two 3D-temp-buffers                   @{" Example " system "visage wf:doc/pictures/Join3D.pic"}
  1758.    @{" KillTemp3D      " link opKillTemp3D     } Kill a 3D-temp-buffer
  1759.    @{" LWOB            " link opLWOB           } Import Lightwave-objects                   @{" Example " system "visage wf:doc/pictures/LWOB.pic"}
  1760.    @{" Magnet3D        " link opMagnet3D       } Grab and drag portions of an image         @{" Example " system "visage wf:doc/pictures/Magnet3D.pic"}
  1761.    @{" Morph           " link opMorph          } Interpolate between two objects            @{" Example " system "visage wf:doc/pictures/Morph.pic"}
  1762.    @{" ParPlot         " link opParPlot        } Plot threedimensional parametric functions @{" Example " system "visage wf:doc/pictures/ParPlot.pic"}
  1763.    @{" Perspective     " link opPerspective    } Add perspective to an image                @{" Example " system "visage wf:doc/pictures/Perspective.pic"}
  1764.    @{" SetColor        " link opSetColor       } Modify the color of objects                @{" Example " system "visage wf:doc/pictures/SetColor.pic"}
  1765.    @{" Sphere          " link opSphere         } Wrap an image onto a complete sphere       @{" Example " system "visage wf:doc/pictures/Sphere.pic"}
  1766.    @{" Transform3D     " link opTransform3D    } Perform standard 3d-transformations        @{" Example " system "visage wf:doc/pictures/Transform3D.pic"}
  1767.    @{" Triangulate     " link opTriangulate    } Convert images into smooth phong-object    @{" Example " system "visage wf:doc/pictures/Triangulate.pic"}
  1768.    @{" Twirl3D         " link opTwirl3D        } Apply a Twirl-effect along any axis        @{" Example " system "visage wf:doc/pictures/Twirl3D.pic"}
  1769.    @{" Twist           " link opTwist          } Deform an image using rotation             @{" Example " system "visage wf:doc/pictures/Twist.pic"}
  1770.    @{" Water           " link opWater          } Apply an anharmonic water-wave to an image @{" Example " system "visage wf:doc/pictures/Water.pic"}
  1771.    @{" Wave3D          " link opWave3D         } Apply a harmonic wave to an image          @{" Example " system "visage wf:doc/pictures/Wave3D.pic"}
  1772.    @{" Wrap            " link opWrap           } Wrap the image on a sphere or a tube       @{" Example " system "visage wf:doc/pictures/Wrap.pic"}
  1773.    @{" ZPlot           " link opZPlot          } Plot threedimensional functions            @{" Example " system "visage wf:doc/pictures/ZPlot.pic"}
  1774.  @{b}Misc:@{ub}     very special or seldom-used PlugIns
  1775.    @{" ARexx           " link opARexx          } Exchange images with other applications
  1776.    @{" Comment         " link opComment        } Add a comment to the Processor-script
  1777.    @{" GetDimensions   " link opGetDimensions  } Apply image-dimensions to variables
  1778.    @{" Raster          " link opRaster         } Apply a black raster to an image           @{" Example " system "visage wf:doc/pictures/Raster.pic"}
  1779.    @{" SetBackGround   " link opSetBackGround  } Change the global background
  1780.    @{" Text            " link opText           } Render text using various styles           @{" Example " system "visage wf:doc/pictures/Text.pic"}
  1781. Note: After pressing one of the @{" Example " system "visage wf:Motivation2.jpg"}-buttons the program
  1782.       "visage" is started to display a corresponding example.
  1783. @endnode
  1784. @node opAdd
  1785. @{b}Add-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Add.pic"}
  1786. This operator adds or subtracts two images.
  1787. @{b}Parameters@{ub}
  1788. Name        Possible Values/Unit          Description
  1789. @{uu}
  1790. Input1      STREAM, TEMP1, ..., TEMP8     1st source buffer
  1791. Input2      STREAM, TEMP1, ..., TEMP8     2nd source buffer
  1792. Output      STREAM, TEMP1, ..., TEMP8     destination buffer
  1793. Mode        ADD, SUBTRACT                 add or subtract the images
  1794. @endnode
  1795. @node opCompose
  1796. @{b}Compose-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Compose.pic"}
  1797. This operator composes two images using several genlock-methods
  1798. and optionaly an alpha-channel.
  1799. @{b}Parameters@{ub}
  1800. Name        Possible Values/Unit                  Description
  1801. @{uu}
  1802. Background  STREAM, TEMP1, ..., TEMP8        background image
  1803. Foreground  STREAM, TEMP1, ..., TEMP8        foreground image
  1804. Destination STREAM, TEMP1, ..., TEMP8        destination buffer
  1805. Alpha       NONE, STREAM, TEMP1, ..., TEMP8  optional alpha buffer
  1806. Left        pixels                           left edge of the foreground image
  1807. Top         pixels                           top edge of the foreground image
  1808. Mix         0...100                          transparency of the foreground image
  1809. CentreX     ON, OFF                          center the foreground horizontally
  1810. CentreY     ON, OFF                          center the foreground vertically
  1811. Red1,       0...255                          genlock-color 1
  1812. Green2,     0...255
  1813. Blue        0...255
  1814. Red2,       0...255                          genlock-color 2
  1815. Green2,     0...255
  1816. Blue2       0...255
  1817. Genlock                                      type of genlock:
  1818.             NONE                              no genlock
  1819.             SINGLE COLOR                      normal genlock using color 1
  1820.             INRANGE                           extended genlock using all colors
  1821.                                               inside the range color1...color2
  1822.             OUTRANGE                          extended genlock using all colors
  1823.                                               outside the range color1...color2
  1824. @endnode
  1825. @node opCreateImage
  1826. @{b}CreateImage-Operator@{ub} @{" Example " system "visage wf:doc/pictures/CreateImage.pic"}
  1827. This operator creates an image with an optional color-transition.
  1828. @{b}Parameters@{ub}
  1829. Name        Possible Values/Unit            Description
  1830. @{uu}
  1831. Output      STREAM, TEMP1, ..., TEMP8  output-buffer
  1832. Width       pixels                     width of the generated image
  1833. Height      pixels                     height of the generated image
  1834. Palette     (gadget)                   select one of the four edges
  1835. Red,        0...255                    color of the selected edge
  1836. Green,      0...255
  1837. Blue        0...255
  1838. HCopy       (gadget)                   copy the selected color horizontally
  1839. VCopy       (gadget)                   copy the selected color vertically
  1840. HVCopy      (gadget)                   apply the selected color to all four edges
  1841. @endnode
  1842. @node opNeon
  1843. @{b}Neon-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Neon.pic"}
  1844. This operator adds a glow effect to an image.
  1845. @{b}Parameters@{ub}
  1846. Name        Possible Values/Unit            Description
  1847. @{uu}
  1848. Output      STREAM, TEMP1, ..., TEMP8  output-buffer
  1849. Red,        0...255                    color of the part of the image
  1850. Green,      0...255                    to midify
  1851. Blue        0...255
  1852. Radius      pixels                     radius of the effect
  1853. Tolerance   0...1.0                    color-tolerance
  1854. Intensity   0...1.0                    intensity
  1855. Algorithm                              algorithm to use
  1856.             TRIVIAL                    use a algorithm like DPaint to surround
  1857.                                        the affected image-cluster
  1858.             HK-CLUSTER                 use a Hoshen-Kopelman-algorithm [1] to
  1859.                                        detect and modify individual clusters
  1860. [1] Phys. Rev.B14, 3428 (1976)
  1861. @endnode
  1862. @node opCrop
  1863. @{b}Crop-Operator@{ub}
  1864. This operator cuts out a rectangular area of an image.
  1865. @{b}Parameters@{ub}
  1866. Name        Possible Values/Unit            Description
  1867. @{uu}
  1868. Input       STREAM, TEMP1, ..., TEMP8  input buffer
  1869. Output      STREAM, TEMP1, ..., TEMP8  output buffer
  1870. Left        pixels                     left edge of the rectangle
  1871. Top         pixels                     top edge of the rectangle
  1872. Width       pixels                     width of the rectangle
  1873. Height      pixels                     height of the rectangle
  1874. @endnode
  1875. @node opAutoCrop
  1876. @{b}AutoCrop-Operator@{ub}
  1877. This operator removes outer regions with the same color.
  1878. @{b}Parameters@{ub}
  1879. Name        Possible Values/Unit            Description
  1880. @{uu}
  1881. Input       STREAM, TEMP1, ..., TEMP8  input buffer
  1882. Output      STREAM, TEMP1, ..., TEMP8  output buffer
  1883. @endnode
  1884. @node opKillTemp
  1885. @{b}KillTemp-Operator@{ub}
  1886. This operator clears a TEMP-buffer and frees it's memory.
  1887. @{b}Parameters@{ub}
  1888. Name        Possible Values/Unit      Description
  1889. @{uu}
  1890. Buffer      TEMP1, ... TEMP8     TEMP-buffer to kill
  1891. @endnode
  1892. @node opKillTemp3D
  1893. @{b}KillTemp3D-Operator@{ub}
  1894. This operator clears a 3D-temp-buffer and frees it's memory.
  1895. @{b}Parameters@{ub}
  1896. Name        Possible Values/Unit      Description
  1897. @{uu}
  1898. Buffer      TEMP3D1, ... TEMP3D4      3d-temp-buffer to kill
  1899. @endnode
  1900. @node opLoadImage
  1901. @{b}LoadImage-Operator@{ub}
  1902. This operator loads an image or an image-sequence from disk.
  1903. @{b}Parameters@{ub}
  1904. Name        Possible Values/Unit            Description
  1905. @{uu}
  1906. Output      STREAM, TEMP1, ..., TEMP8  output buffer
  1907. Sequence    string                     complete filename of an single image
  1908.                                        or base-filename of an image-sequence
  1909. Loop        integer                    length of the image-sequence
  1910. Shift       integer                    shift-value for the filenames of an image-sequence
  1911. Show        (gadget)                   show the selected image
  1912. @endnode
  1913. @node opLoadTemp
  1914. @{b}LoadTemp-Operator@{ub}
  1915. This operator replaces the input-stream with a TEMP-buffer.
  1916. @{b}Parameters@{ub}
  1917. Name        Possible Values/Unit         Description
  1918. @{uu}
  1919. Buffer      TEMP1, ... TEMP8        TEMP-buffer which holds the image
  1920.                                     to apply
  1921. @endnode
  1922. @node opPlasma
  1923. @{b}Plasma-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Plasma.pic"}
  1924. This operator creates an image using a fractal algorithm.
  1925. @{b}Parameters@{ub}
  1926. Name        Possible Values/Unit            Description
  1927. @{uu}
  1928. Output      STREAM, TEMP1, ..., TEMP8  output buffer
  1929. Width       pixels                     width of the generated image
  1930. Height      pixels                     height of the generated image
  1931. Dimension   integer                    fractal dimension which affects the
  1932.                                        smoothness of the fractal
  1933. Seed        integer                    parameter which affects the shape
  1934. @endnode
  1935. @node opDLA
  1936. @{b}DLA-Operator@{ub} @{" Example " system "visage wf:doc/pictures/DLA.pic"}
  1937. This operator creates an image using a "diffusion limited
  1938. aggregation"-algorithm [1].
  1939. @{b}Parameters@{ub}
  1940. Name        Possible Values/Unit            Description
  1941. @{uu}
  1942. Output      STREAM, TEMP1, ..., TEMP8  output buffer
  1943. Width       pixels                     width of the generated image
  1944. Height      pixels                     height of the generated image
  1945. Iterations  integer                    number of iterations which affects
  1946.                                        the size of the generated cluster
  1947. Seed        integer                    parameter which affects the shape
  1948. Red,        0...255                    color of the generated image
  1949. Green,      0...255
  1950. Blue        0...255
  1951. [1] T.A. Witten; L.M. Sander, Phys. Rev. Lett. 47, 1400 (1981)
  1952. @endnode
  1953. @node opReplaceComp
  1954. @{b}ReplaceComp-Operator@{ub} @{" Example " system "visage wf:doc/pictures/ReplaceComp.pic"}
  1955. This operator replaces a color-channel of an image with the
  1956. red-channel of an other image. The main purpose of this
  1957. PlugIn is to create Stereo-3D-Images.
  1958. @{b}Parameters@{ub}
  1959. Name        Possible Values/Unit            Description
  1960. @{uu}
  1961. Input1      STREAM, TEMP1, ..., TEMP8  input buffer
  1962. Input2      STREAM, TEMP1, ..., TEMP8  image which replaces the selected channel
  1963. Output      STREAM, TEMP1, ..., TEMP8  output buffer
  1964. Component   RED, GREEN, BLUE           color-channel to replace
  1965. @endnode
  1966. @node opSaveImage
  1967. @{b}SaveImage-Operator@{ub}
  1968. This operator saves images to harddisk.
  1969. @{b}Parameters@{ub}
  1970. Name        Possible Values/Unit            Description
  1971. @{uu}
  1972. Input       STREAM, TEMP1, ..., TEMP8  image to save
  1973. File        string                     filename
  1974. Numbering   string                     C-formatstring, if this string is
  1975.                                        non-empty the current frame-number
  1976.                                        is appended to filename
  1977. @endnode
  1978. @node opSaveTemp
  1979. @{b}SaveTemp-Operator@{ub}
  1980. This operator copies the content of the input-stream to a TEMP-buffer.
  1981. @{b}Parameters@{ub}
  1982. Name        Possible Values/Unit        Description
  1983. @{uu}
  1984. Buffer      TEMP1, ... TEMP8       Buffer to copy to
  1985. @endnode
  1986. @node opBlackHole @{" Example " system "visage wf:doc/pictures/BlackHole.pic"}
  1987. @{b}BlackHole-Operator@{ub}
  1988. This operator contracts the whole image.
  1989. @{b}Parameters@{ub}
  1990. Name        Possible Values/Unit            Description
  1991. @{uu}
  1992. Input       STREAM, TEMP1, ..., TEMP8  input buffer
  1993. Ouput       STREAM, TEMP1, ..., TEMP8  output buffer
  1994. CentreX,    pixels                     centre of the effect
  1995. CentreY     pixels
  1996. Amount      pixels                     amount, large values may cause the
  1997.                                        whole image to disappear
  1998. Radius      pixels                     parameter affecting the local deformation
  1999. Zoom        -10.0...10.0               zoom-factor for the whole image
  2000. @endnode
  2001. @node opCartesian2Polar
  2002. @{b}Cartesian2Polar-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Cartesian2Polar.pic"}
  2003. This operator transforms the cartesian image-coordinates into
  2004. polar coordinates.
  2005. @{b}Parameters@{ub}
  2006. Name        Possible Values/Unit          Description
  2007. @{uu}
  2008. Input       STREAM, TEMP1, ..., TEMP8     input buffer
  2009. Output      STREAM, TEMP1, ..., TEMP8     output buffer
  2010. R0          pixels                        starting radius
  2011. Phi0        degrees                       starting angle
  2012. Zoom        -10.0...10.0                  zoom factor for the whole image
  2013. @endnode
  2014. @node opDisplace 
  2015. @{b}Displace-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Displace.pic"}
  2016. This operator swaps points of an image randomly.
  2017. @{b}Parameters@{ub}
  2018. Name        Possible Values/Unit            Description
  2019. @{uu}
  2020. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2021. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2022. Radius      pixels                          largest distance between two
  2023.                                             points to swap
  2024. Probability 0...100                         probability of swapping in
  2025.                                             percent
  2026. Seed        integer                         start-value for the random
  2027.                                             number generator
  2028. @endnode
  2029. @node opFlip
  2030. @{b}Flip-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Flip.pic"}
  2031. This operator mirrors an image along a specified axis.
  2032. @{b}Parameters@{ub}
  2033. Name        Possible Values/Unit            Description
  2034. @{uu}
  2035. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2036. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2037. Axis        X, Y, XY                        mirror-axis
  2038. @endnode
  2039. @node opHalve
  2040. @{b}Halve-Operator@{ub}
  2041. This operator halves the dimensions of an image.
  2042. @{b}Parameters@{ub}
  2043. Name        Possible Values/Unit            Description
  2044. @{uu}
  2045. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2046. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2047. @endnode
  2048. @node opMagnet
  2049. @{b}Magnet-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Magnet.pic"}
  2050. This operator applies a local contraction or expansion to an image.
  2051. @{b}Parameters@{ub}
  2052. Name        Possible Values/Unit            Description
  2053. @{uu}
  2054. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2055. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2056. CentreX     pixels                          centre of the effect
  2057. CentreY     pixels
  2058. Amount      pixels (about -20...20)         amount of the deformation, positive values
  2059.                                             cause a contraction, negative an expansion
  2060. Damping     float                           parameter which controls the fall-off
  2061.                                             of the deformation
  2062. Zoom        -10.0...10.0                    zoom-factor for the whole image
  2063. @endnode
  2064. @node opMotionBlur
  2065. @{b}MotionBlur-Operator@{ub} @{" Example " system "visage wf:doc/pictures/MotionBlur.pic"}
  2066. This operator applies a touch of motion to an image.
  2067. @{b}Parameters@{ub}
  2068. Name        Possible Values/Unit            Description
  2069. @{uu}
  2070. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2071. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2072. DeltaX,     pixels                          direction and amount of the effect
  2073. DeltaY      pixels
  2074. @endnode
  2075. @node opPixelize
  2076. @{b}Pixelize-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Pixelize.pic"}
  2077. This operator reduces the resolution of an image creating
  2078. rectangles.
  2079. @{b}Parameters@{ub}
  2080. Name        Possible Values/Unit            Description
  2081. @{uu}
  2082. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2083. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2084. Width       pixels                          width of the rectangles to create
  2085. Height      pixels                          height of the rectangles to create
  2086. Centre      ON, OFF                         centre the rectangles, this options should be
  2087.                                             switched off if the size of the rectangle
  2088.                                             varies with time
  2089. Grid        OFF, XY, X, Y                   type of the optional grid to create
  2090. Size        pixels                          thickness of the grid to create
  2091. Red,        0...255                         base color of the grid
  2092. Green,      0...255
  2093. Blue        0...255
  2094. DLeft,      0.0...1.0                       color variation of the grid to produce
  2095. DRight      0.0...1.0                       a threedimensional look
  2096. DTop        0.0...1.0
  2097. DBottom     0.0...1.0
  2098. @endnode
  2099. @node opRoll
  2100. @{b}Roll-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Roll.pic"}
  2101. This operator scrolls an image into a specified direction.
  2102. @{b}Parameters@{ub}
  2103. Name        Possible Values/Unit            Description
  2104. @{uu}
  2105. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2106. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2107. DeltaX,     pixels                          scroll direction and amount
  2108. DeltaY      pixels
  2109. Wrap        ON, OFF                         toggle wrapping on/off
  2110. @endnode
  2111. @node opRotate
  2112. @{b}Rotate-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Rotate.pic"}
  2113. This operator rotates a circular region of an image.
  2114. @{b}Parameters@{ub}
  2115. Name        Possible Values/Unit            Description
  2116. @{uu}
  2117. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2118. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2119. CentreX,    pixels                          centre of the circle
  2120. CentreY     pixels
  2121. Radius      pixels                          radius of the circle
  2122. Amount      degrees                         rotate-angle
  2123. Zoom        -10.0...10.0                    zoom-factor for the rotated region
  2124. @endnode
  2125. @node opRotateBlur
  2126. @{b}RotateBlur-Operator@{ub} @{" Example " system "visage wf:doc/pictures/RotateBlur.pic"}
  2127. This operator adds a touch of motion to an image.
  2128. @{b}Parameters@{ub}
  2129. Name        Possible Values/Unit            Description
  2130. @{uu}
  2131. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2132. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2133. CentreX,    pixels                          centre of the blurred circle
  2134. CentreY     pixels
  2135. Radius      pixels                          radius of the circle
  2136. Amount      degrees                         blur-amount, large-values like 60
  2137.                                             cause a very long computation time
  2138. @endnode
  2139. @node opScale
  2140. @{b}Scale-Operator@{ub}
  2141. This operator scales up or down images.
  2142. @{b}Parameters@{ub}
  2143. Name        Possible Values/Unit            Description
  2144. @{uu}
  2145. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2146. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2147. Width       pixels/percent                  horizontal size of the generated image
  2148. Height      pixels/percent                  vertical size of the generated image
  2149. Type        PIXELS, PERCENT                 choose if the size-values are in pixels or percent
  2150. Aspect                                      choose if you want to keep the aspect or not
  2151.             IGNORE                           scale the image to the specified values
  2152.             TAKEWIDTH                        scale the image to the specified width-value
  2153.                                              and a computed height-value keeping the aspect
  2154.             TAKEHEIGHT                       scale the image to specified height-value
  2155.                                              and computed width-value keeping the aspect
  2156. @endnode
  2157. @node opShear
  2158. @{b}Shear-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Shear.pic"}
  2159. This operator shears an image with additional damping.
  2160. @{b}Parameters@{ub}
  2161. Name        Possible Values/Unit            Description
  2162. @{uu}
  2163. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2164. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2165. OriginX,    pixels                          shear-centre where no damping occurs
  2166. OriginY     pixels
  2167. Amount      pixels                          shear-amount
  2168. Zoom        -10.0...10.0                    zoom-value for the whole image
  2169. Axis        X, Y                            shear-direction
  2170. Damping     ON, OFF                         toggle damping on/off
  2171. Damping     float                           damping-value
  2172. @endnode
  2173. @node opShiftLines
  2174. @{b}ShiftLines-Operator@{ub} @{" Example " system "visage wf:doc/pictures/ShiftLines.pic"}
  2175. This operator shifts the lines of an image with optional
  2176. jitter-effect.
  2177. @{b}Parameters@{ub}
  2178. Name        Possible Values/Unit            Description
  2179. @{uu}
  2180. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2181. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2182. Direction   X, Y                            shift-direction
  2183. Jitter      ON, OFF                         toggle jitter on/off
  2184. Shift       pixels                          shift-value
  2185. Amount      pixels                          jitter-amount
  2186. Probability 0...100                         probability for the jitter-effect
  2187. Seed        integer                         start -value for the random number generator
  2188. @endnode
  2189. @node opTwirl
  2190. @{b}Twirl-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Twirl.pic"}
  2191. This operator applies a nonlinear deformation to an image.
  2192. @{b}Parameters@{ub}
  2193. Name        Possible Values/Unit            Description
  2194. @{uu}
  2195. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2196. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2197. FallOff     IN, OUT                         radial direction of the fall-off of
  2198.                                             the deformation
  2199. CentreX,    pixels                          centre of the effect
  2200. CentreY     pixels
  2201. Radius      pixels                          radius of the affected circular region of the image
  2202. Amount      degrees                         twirl amount, very large value like 1000 are allowed
  2203. Power       float                           parameter describing the local deformation, large
  2204.                                             values like 6.0 concentrate the deformation around
  2205.                                             the centre of the circle
  2206. Zoom        -10.0...10.0                    zoom-factor for the affected circular region
  2207. @endnode
  2208. @node opWave
  2209. @{b}Wave-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Wave.pic"}
  2210. This operator applies a harmonic wave to an image.
  2211. @{b}Parameters@{ub}
  2212. Name        Possible Values/Unit            Description
  2213. @{uu}
  2214. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2215. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2216. CentreX,    pixels                          centre of the wave, the point
  2217. CentreY     pixels                          with no damping
  2218. Amplitude   pixels                          amplitude of the wave
  2219. Phase       degrees                         phase of the wave
  2220. Wavelength  pixels                          wavelength
  2221. Shift       pixels                          diagonal-shift-parameter
  2222. Zoom        -10.0...10.0                    zoom-value for the whole image
  2223. Damping     ON, OFF                         toggle damping on/off
  2224. Damping     float                           damping-value
  2225. Axis        X, Y                            wave-direction
  2226. Frame       integer>0                       current frame
  2227. Frames      integer>0                       frame-number describing a whole cycle
  2228. @endnode
  2229. @node opAlpha
  2230. @{b}Alpha-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Alpha.pic"}
  2231. This operator modifies the brightness of an image using
  2232. an alpha-channel.
  2233. @{b}Parameters@{ub}
  2234. Name        Possible Values/Unit            Description
  2235. @{uu}
  2236. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2237. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2238. Alpha       STREAM, TEMP1, ..., TEMP8       alpha buffer
  2239. Left        pixels                          left edge of the alpha image
  2240. Top         pixels                          top edge of the alpha image
  2241. @endnode
  2242. @node opAntique
  2243. @{b}Antique-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Antique.pic"}
  2244. This operator turns the colors of an image to look "anitique".
  2245. @{b}Parameters@{ub}
  2246. Name        Possible Values/Unit            Description
  2247. @{uu}
  2248. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2249. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2250. @endnode
  2251. @node opBalancing
  2252. @{b}Balancing-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Balancing.pic"}
  2253. This operator performs some balancing operations.
  2254. @{b}Parameters@{ub}
  2255. Name        Possible Values/Unit            Description
  2256. @{uu}
  2257. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2258. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2259. Red         -255...255                      shift-value for the red component
  2260. Green       -255...255                      shift-value for the green component
  2261. Blue        -255...255                      shift-value for the green component
  2262. Contrast    -255...255                      contrast-value, negative values decrease the contrast
  2263. Bright      -255...255                      shift value for all color-channels
  2264. Gamma       -255...255                      gamma-value
  2265. @endnode
  2266. @node opColorToGray
  2267. @{b}ColorToGray-Operator@{ub} @{" Example " system "visage wf:doc/pictures/ColorToGray.pic"}
  2268. This operator converts an image into grayscale.
  2269. @{b}Parameters@{ub}
  2270. Name        Possible Values/Unit            Description
  2271. @{uu}
  2272. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2273. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2274. Weights                                     weight of the red, green and blue component
  2275.             LUMINANCE                        use luminance weights
  2276.             AVERAGE                          use for all components the same weight
  2277.             CUSTOM                           use custom weights
  2278. Red,        0...10000                        custom weights, the sum of this
  2279. Green,      0...10000                        three values should be 10000
  2280. Blue        0...10000
  2281. @endnode
  2282. @node opConvolve
  2283. @{b}Convolve-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Convolve.pic"}
  2284. This operator applies a 3x3- or 5x5 convolution-matrix to an image.
  2285. @{b}Parameters@{ub}
  2286. Name        Possible Values/Unit            Description
  2287. @{uu}
  2288. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2289. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2290. Mix         0...100                         intensity of the generated effect
  2291. Shift       -255...255                      shift-value which is applied to the
  2292.                                             result for each pixel, this makes it for
  2293.                                             example possible to turn negative results
  2294.                                             into the valid range 0...255 without
  2295.                                             loosing details
  2296. Size        3x3, 5x5                        toggle the size of the matrix
  2297. File        string                          filename for loading/saving a matrix
  2298. Load        (gadget)                        load a matrix in Wildfire's or ADPro's format
  2299. Save        (gadget)                        save the current matrix to disk
  2300. @endnode
  2301. @node opEmboss
  2302. @{b}Emboss-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Emboss.pic"}
  2303. This operator converts an image in a gray relief
  2304. @{b}Parameters@{ub}
  2305. Name        Possible Values/Unit            Description
  2306. @{uu}
  2307. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2308. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2309. Direction   NORTHWEST, NORTHEAST,           direction of the "lightsource", different
  2310.             SOUTHEST, SOUTHEAST             directions may cause results looking extremely
  2311.                                             different
  2312. @endnode
  2313. @node opLUT
  2314. @{b}LUT-Operator@{ub} @{" Example " system "visage wf:doc/pictures/LUT.pic"}
  2315. This operator applies a LookUpTable to an image.
  2316. Unlike to all other image-processors LUT's are represented
  2317. by Envelopes and can be morphed !
  2318. There are 6 Envelopes: a Start- and an End-Envelope for every
  2319. component. After specifying the number of frames the Start-Envelope
  2320. is morphed into the End-Envelope. Different point-counts
  2321. are possible.
  2322. @{b}Parameters@{ub}
  2323. Name        Possible Values/Unit            Description
  2324. @{uu}
  2325. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2326. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2327. Mode        EDIT, VIEW                      toggle Edit/View-mode
  2328. Type        LINEAR, SPLINE, BEZIER          type of the spline of the current channel
  2329. Component   R, G, B                         current component
  2330. RGB         (gadget)                        apply the current Envelope to all components
  2331. Preset      (may change)                    choose a preset
  2332. Apply       (gadget)                        apply the selected preset to the current component
  2333. Position    START, END                      modify the Start- or the End-Envelope
  2334. Both        (gadget)                        apply the Envelope of the current component as
  2335.                                             End- and as Start-Envelope
  2336. Frames      integer>0                       number of frames used for morphing
  2337. Frame       integer>0                       current frame displayed in view-mode
  2338. MirrorX     (gadget)                        mirror the current Envelope along the x-axis
  2339. MirrorY     (gadget)                        mirror the current Envelope along the y-axis
  2340. MirrorXY    (gadget)                        flip the current Envelope along the diagonal
  2341. MoveX       (gadget)                        shift the current Envelope by the specified amount in x-direction
  2342. MoveY       (gadget)                        shift the current Envelope by the specified amount in y-direction
  2343. Amount      integer                         shift-value
  2344. File        string                          file used for loading/saving envelopes
  2345. Load        (gadget)                        load an Envelope
  2346. Save        (gadget)                        save the current Envelope to disk
  2347. There are two modes: the View- and the Edit-mode. In Edit-mode
  2348. all changes are applied, in view mode the morphing of the
  2349. splines is visualized. In this mode you can change the current-frame-
  2350. number both using the scrollbar and the "Frame"-gadget.
  2351. If you want to create your Envelopes using the @{"Envelope-Window" link EnvelopeWindow}
  2352. the only restriction is that all values must be in the range 0..255.
  2353. The first point must have the x-coordinate 0, the last one the
  2354. coordinate 255.
  2355. @endnode
  2356. @node opMedianFilter
  2357. @{b}MedianFilter-Operator@{ub}
  2358. This operator applies a median-filter to the image.
  2359. (In the most cases there will be no visible change.)
  2360. @{b}Parameters@{ub}
  2361. Name        Possible Values/Unit            Description
  2362. @{uu}
  2363. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2364. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2365. Rect        pixels                          size of the rectangle scanned
  2366.                                             for every pixel
  2367. @endnode
  2368. @node opNegative
  2369. @{b}Negative-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Negative.pic"}
  2370. This operator turns the colors of an image into negative ones.
  2371. @{b}Parameters@{ub}
  2372. Name        Possible Values/Unit            Description
  2373. @{uu}
  2374. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2375. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2376. @endnode
  2377. @node opNoise
  2378. @{b}Noise-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Noise.pic"}
  2379. This operator applies random noise to an image.
  2380. @{b}Parameters@{ub}
  2381. Name        Possible Values/Unit            Description
  2382. @{uu}
  2383. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2384. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2385. Intensity   color                           intensity of the noise
  2386. Probability 0...100                         noise-probability
  2387. Seed        integer                         start-value for the random
  2388.                                             number generator
  2389. @endnode
  2390. @node opOilTransfer
  2391. @{b}OilTransfer-Operator@{ub} @{" Example " system "visage wf:doc/pictures/OilTransfer.pic"}
  2392. This operator applies the OilTransfer-algorithm to an image.
  2393. @{b}Parameters@{ub}
  2394. Name        Possible Values/Unit            Description
  2395. @{uu}
  2396. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2397. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2398. Rect        pixels                          size of the rectangle scanned for
  2399.                                             every pixel
  2400. @endnode
  2401. @node opPosterise
  2402. @{b}Posterise-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Posterise.pic"}
  2403. This operator reduces the number of bits per byte for every pixel
  2404. of the image.
  2405. @{b}Parameters@{ub}
  2406. Name        Possible Values/Unit            Description
  2407. @{uu}
  2408. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2409. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2410. Bits        1...7                           number of bits per byte, a value of 8
  2411.                                             would cause no change
  2412. @endnode
  2413. @node opSwapRGB
  2414. @{b}SwapRGB-Operator@{ub} @{" Example " system "visage wf:doc/pictures/SwapRGB.pic"}
  2415. This operator swaps the color-channels of an image
  2416. @{b}Parameters@{ub}
  2417. Name        Possible Values/Unit            Description
  2418. @{uu}
  2419. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2420. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2421. Mode        RBG, GRB, GBR, BRG, BGR         swap-mode
  2422. @endnode
  2423. @node opThreshold 
  2424. @{b}Threshold-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Threshold.pic"}
  2425. This operator converts an image into black&white using a grayscale-level,
  2426. this may be especially useful for the creation of alpha-channels.
  2427. @{b}Parameters@{ub}
  2428. Name        Possible Values/Unit            Description
  2429. @{uu}
  2430. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2431. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2432. Level       0...255                         grayscale-level, all pixels with a
  2433.                                             brightness higher than this value
  2434.                                             are turned into white ones, all other
  2435.                                             are cleared
  2436. @endnode
  2437. @node opBump
  2438. @{b}Bump-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Bump.pic"}
  2439. This operator uses a 2nd image to add height-information which
  2440. is visualized using a single lightsoure to an image.
  2441. @{b}Parameters@{ub}
  2442. Name        Possible Values/Unit            Description
  2443. @{uu}
  2444. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2445. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2446. HeightMap   STREAM, TEMP1, ..., TEMP8       image used to create the height-information
  2447. Amount      integer                         height-value corresponding to a brightness of 255
  2448. LightX,     pixels                          coordinates of the lightsource
  2449. LightY,     pixels
  2450. LightZ      pixels
  2451. Intensity   float                           light-intensity (1.0=normal)
  2452. Left        pixels                          left edge of the height-map
  2453. Top         pixels                          top edge of the height-map
  2454. @endnode
  2455. @node opCube
  2456. @{b}Cube-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Cube.pic"}
  2457. This operator wraps an image or a 3d-temp-buffer onto a cube.
  2458. @{b}Parameters@{ub}
  2459. Name        Possible Values/Unit            Description
  2460. @{uu}
  2461. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  2462.             TEMP3D1, ..., TEMP3D4
  2463. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2464.             TEMP3D1, ..., TEMP3D4
  2465. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2466.                                             is used for the last time and can be modified
  2467.                                             directly to conserve both memory and time
  2468. Size        pixels                          size of the cube
  2469. Fold        ON, OFF                         create the cube "folding" the image using
  2470.                                             5 dynamic angles (like a parcel)
  2471. Alpha4,     degrees                         face-angles in fold-mode
  2472. Alpha5,                                     (see below)
  2473. Alpha2,
  2474. Alpha6,
  2475. Alpha1
  2476. The image is sliced into 6 parts (2 rows, 3 columns) which are mapped
  2477. onto the six surfaces of the cube.
  2478. To create a cube with 6 different images simply compose them together
  2479. and use the result as input for the Cube-operator.
  2480. In parcel-mode (fold=ON) the image is deformed in two steps.
  2481. In the 1st step the it is scliced as follows:
  2482.                                    ___
  2483.                                   |   |
  2484.                                   | 1 |
  2485.    ___________                    |___|___
  2486.   |   |   |   |                   |   |   |
  2487.   | 1 | 2 | 3 |       \           | 2 | 6 |
  2488.   |___|___|___|   =====\       ___|___|___|
  2489.   |   |   |   |   =====/      |   |   |
  2490.   | 4 | 5 | 6 |       /       | 5 | 3 |
  2491.   |___|___|___|               |___|___|
  2492.                                   |   |
  2493.                                   | 4 |
  2494.                                   |___|
  2495. After that all faces except face 3 are rotated by the 5 angles
  2496. creating the "parcel-like" behaviour:
  2497.  Angle4: angle between face 4 and 3
  2498.  Angle5: angle between face 5 and 3
  2499.  Angle2: angle between face 2 and 3
  2500.  Angle6: angle between face 6 and 2
  2501.  Angle1: angle between face 1 and 2
  2502. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  2503. settings can be adjusted from within the global @{" Render-Settings " link opRenderSettings}-Window.
  2504. @endnode
  2505. @node opTriangulate
  2506. @{b}Triangulate-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Triangulate.pic"}
  2507. This operator converts images (at high quant3D-values) into
  2508. smooth phong-objects.
  2509. @{b}Parameters@{ub}
  2510. Name        Possible Values/Unit            Description
  2511. @{uu}
  2512. Input       TEMP3D1, ..., TEMP3D4           input buffer
  2513. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2514.             TEMP3D1, ..., TEMP3D4
  2515. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2516.                                             is used for the last time and can be modified
  2517.                                             directly to conserve both memory and time
  2518. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  2519. settings can be adjusted from within the global @{" Render-Settings " link opRenderSettings}-Window.
  2520. @endnode
  2521. @node opSetColor
  2522. @{b}SetColor-Operator@{ub} @{" Example " system "visage wf:doc/pictures/SetColor.pic"}
  2523. This operator allows to modify the colors of any 3d-object.
  2524. @{b}Parameters@{ub}
  2525. Name        Possible Values/Unit            Description
  2526. @{uu}
  2527. Input       TEMP3D1, ..., TEMP3D4           input buffer
  2528. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2529.             TEMP3D1, ..., TEMP3D4
  2530. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2531.                                             is used for the last time and can be modified
  2532.                                             directly to conserve both memory and time
  2533. Red,        0...255                         color to apply
  2534. Green,
  2535. Mix         0...100                         transparency
  2536. The transparency-option especially makes sense for objects
  2537. with more than unique color such as animals.
  2538. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  2539. settings can be adjusted from within the global @{" Render-Settings " link opRenderSettings}-Window.
  2540. @endnode
  2541. @node opMorph
  2542. @{b}Morph-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Morph.pic"}
  2543. This operator interpolates between two objects to creat a
  2544. so-called "morph-object". Both points and object-colors
  2545. are interpolated. The source- and the destination-object
  2546. should have the same point- and face-count.
  2547. @{b}Parameters@{ub}
  2548. Name        Possible Values/Unit            Description
  2549. @{uu}
  2550. Input1      TEMP3D1, ..., TEMP3D4           source-object
  2551. Input1      TEMP3D1, ..., TEMP3D4           destination-object
  2552. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2553.             TEMP3D1, ..., TEMP3D4
  2554. Frames      integer>1                       number of frames
  2555. Frame       1...frames                      current frame
  2556. A nice application of this feature is to "morph" between two
  2557. different functions created by the ZPlot-PlugIn.
  2558. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  2559. settings can be adjusted from within the global @{" Render-Settings " link opRenderSettings}-Window.
  2560. @endnode
  2561. @node opDataPlot
  2562. @{b}DataPlot-Operator@{ub} @{" Example " system "visage wf:doc/pictures/DataPlot.pic"}
  2563. This operator reads in a 3D-dataset in gnuplot-format
  2564. and converts into a 3D-object which may be rendered
  2565. in conjunction with the ColorCube-Operator and using
  2566. phong-shading.
  2567. @{b}Parameters@{ub}
  2568. Name        Possible Values/Unit            Description
  2569. @{uu}
  2570. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2571.             TEMP3D1, ..., TEMP3D4
  2572. File        string                          filename
  2573. xQuant,     integer                         quantization-values
  2574. yQuant
  2575. xScale,     float                           scale-values
  2576. yScale,
  2577. zScale
  2578. Red,        0...255                         object-color
  2579. Green,
  2580. Grid        ON, OFF                         draw an additional grid
  2581. GRed,       0...255                         grid-color
  2582. GGreen,
  2583. GGBlue
  2584. The quantization-values are a nice feature if your dataset
  2585. has an extreme high resolution  but you want to plot it
  2586. with a visible grid. So after loading the dataset is
  2587. reduced to a resolution of xQuant*yQuant. To disable this
  2588. feature just enter very high quantization values like 1000.
  2589. The scale-values are sometimes necessary to solve the problem of
  2590. very different axis-scales (e.g. "mm" and "s" as shown in the example-picture).
  2591. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  2592. settings can be adjusted from within the global @{" Render-Settings " link opRenderSettings}-Window.
  2593. Important Note: This PlugIn uses a coordinate-system which is much more
  2594.                 "handy" than Wildfire's standard coordinate-system
  2595.                 to create function-plots:
  2596.                          y^                  z^
  2597.                          | /z                | /y
  2598.                          |/                  |/
  2599.                           ---> x              ---> x
  2600.                         "standard"           DataPlot
  2601.                 Because this coordinate system is only used while creating
  2602.                 the objects all view-settings work as usual.
  2603. @endnode
  2604. @node opZPlot
  2605. @{b}ZPlot-Operator@{ub} @{" Example " system "visage wf:doc/pictures/ZPlot.pic"}
  2606. This operator creates an 3D-object plotting threedimensional
  2607. functions f(x,y) such as sin(x*x+y*y). The created object may be rendered
  2608. in conjunction with the ColorCube-Operator and using
  2609. phong-shading later.
  2610. @{b}Parameters@{ub}
  2611. Name        Possible Values/Unit            Description
  2612. @{uu}
  2613. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2614.             TEMP3D1, ..., TEMP3D4
  2615. Expression  valid expression in x and y     function f(x,y) to evaluate
  2616. xMin,       float                           x-range
  2617. xMax,       float
  2618. xCount      integer
  2619. yMin,       float                           y-range
  2620. yMax,       float
  2621. yCount      integer
  2622. Red,        0...255                         object-color
  2623. Green,
  2624. Grid        ON, OFF                         draw an additional grid
  2625. GRed,       0...255                         grid-color
  2626. GGreen,
  2627. GGBlue
  2628. Listview   (gadget)                         some nice presets
  2629. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  2630. settings can be adjusted from within the global @{" Render-Settings " link opRenderSettings}-Window.
  2631. Important Note: This PlugIn uses a coordinate-system which is much more
  2632.                 "handy" than Wildfire's standard coordinate-system
  2633.                 to create function-plots:
  2634.                          y^                  z^
  2635.                          | /z                | /y
  2636.                          |/                  |/
  2637.                           ---> x              ---> x
  2638.                         "standard"           ZPlot
  2639.                 Because this coordinate system is only used while creating
  2640.                 the objects all view-settings work as usual.
  2641. @endnode
  2642. @node opParPlot
  2643. @{b}ParPlot-Operator@{ub} @{" Example " system "visage wf:doc/pictures/ParPlot.pic"}
  2644. This operator creates an 3D-object evaluating threedimensional
  2645. parametric functions {x(u,v),y(u,v),z(u,v)} such as a torus or
  2646. the Mobius strip. The created object may be rendered in conjunction
  2647. with the ColorCube-Operator and using phong-shading later.
  2648. @{b}Parameters@{ub}
  2649. Name        Possible Values/Unit            Description
  2650. @{uu}
  2651. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2652.             TEMP3D1, ..., TEMP3D4
  2653. x           valid expression in u and v     coordinate x(u,v) to evaluate
  2654. y           valid expression in u and v     coordinate y(u,v) to evaluate
  2655. z           valid expression in u and v     coordinate z(u,v) to evaluate
  2656. uMin,       float                           u-range
  2657. uMax,       float
  2658. uCount      integer
  2659. vMin,       float                           v-range
  2660. vMax,       float
  2661. vCount      integer
  2662. Red,        0...255                         object-color
  2663. Green,
  2664. Grid        ON, OFF                         draw an additional grid
  2665. GRed,       0...255                         grid-color
  2666. GGreen,
  2667. GGBlue
  2668. Listview   (gadget)                         some nice presets
  2669. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  2670. settings can be adjusted from within the global @{" Render-Settings " link opRenderSettings}-Window.
  2671. Important Note: This PlugIn uses a coordinate-system which is much more
  2672.                 "handy" than Wildfire's standard coordinate-system
  2673.                 to create function-plots:
  2674.                          y^                  z^
  2675.                          | /z                | /y
  2676.                          |/                  |/
  2677.                           ---> x              ---> x
  2678.                         "standard"           ParPlot
  2679.                 Because this coordinate system is only used while creating
  2680.                 the objects all view-settings work as usual.
  2681. @endnode
  2682. @node opColorCube
  2683. @{b}ColorCube-Operator@{ub} @{" Example " system "visage wf:doc/pictures/ColorCube.pic"}
  2684. This operator is one of the most powerful and complicated features
  2685. of Wildfire. It allows you to add a threedimensional color- or
  2686. alpha-space to objects or images.
  2687. This is done computing the bounding box ("cube") of the affected object,
  2688. putting a different color on each of the 8 points of the "cube"
  2689. and performing a 3d-transition between these 8 colors.
  2690. Using the alpha-mode only the brightness of the
  2691. object is modified. This makes it for example possible
  2692. to wrap objects onto images or to add fog to a scene.
  2693. @{b}Parameters@{ub}
  2694. Name        Possible Values/Unit            Description
  2695. @{uu}
  2696. Input       TEMP3D1, ..., TEMP3D4           input buffer
  2697. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2698.             TEMP3D1, ..., TEMP3D4
  2699. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2700.                                             is used for the last time and can be modified
  2701.                                             directly to conserve both memory and time
  2702. Red,        any (!) value                   color of the selected point
  2703. Green,                                      of the cube
  2704. Palette     (gadget)                        select the current point of the cube
  2705. Point       (view only)                     shows the coordinates of the current point
  2706. XCopy,      (gadget)                        copy the current color along the
  2707. YCopy,                                      specified direction
  2708. ZCopy
  2709. Mode        COLOR, ALPHA                    type of the generated color-space
  2710. Mix         0...100                         transparency in COLOR-mode
  2711. size        CURRENT, ACTUAL                 compute the size immediately (CURRENT)
  2712.                                             or while rendering (ACTUAL)
  2713. @{b}Notes@{ub}
  2714. Each field of the palette-gadget represents one point of the
  2715. "cube" as follows:
  2716.        3
  2717.          /--------- 4
  2718.         / |       /
  2719.        /  |      / |         Palette-gadget:
  2720.     1  ---------/2 |         _______________
  2721.       |   |     |  |        |   |   |   |   |
  2722.       |   |     |  |        | 1 | 2 | 3 | 4 |
  2723.       |   |-----|--|        |___|___|___|___|
  2724.       |  / 7    |  / 8      |   |   |   |   |
  2725.       | /       | /         | 5 | 6 | 7 | 8 |
  2726.       |/        |/          |___|___|___|___|
  2727.        ---------
  2728.      5          6
  2729. One- and two-point-polygons (e.g. the optional grid created by one of the
  2730. Plot-PlugIns) are not affected by this operator.
  2731. The size-option controls the transformation-behaviour of the colors.
  2732. Using the mode "size=CURRENT" the texture is fixed to the current
  2733. object-size and the color "grows" or "shrinks" with the object.
  2734. The alternative mode "size=ACTUAL" always caused the colorCube
  2735. to be scaled to fit the whole (transformed) object.
  2736. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  2737. settings can be adjusted from within the global @{" Render-Settings " link opRenderSettings}-Window.
  2738. @endnode
  2739. @node opSphere
  2740. @{b}Sphere-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Sphere.pic"}
  2741. This operator wraps an image or 3d-temp-buffer onto a complete sphere.
  2742. @{b}Parameters@{ub}
  2743. Name        Possible Values/Unit            Description
  2744. @{uu}
  2745. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  2746.             TEMP3D1, ..., TEMP3D4
  2747. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2748.             TEMP3D1, ..., TEMP3D4
  2749. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2750.                                             is used for the last time and can be modified
  2751.                                             directly to conserve both memory and time
  2752. Radius                  radius of the sphere                   (in pixels)
  2753. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  2754. settings can be adjusted from within the global @{" Render-Settings " link opRenderSettings}-Window.
  2755. @endnode
  2756. @node opTwirl3D
  2757. @{b}Twirl3D-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Twirl3D.pic"}
  2758. This operator performs a Twirl-effect to an image or 3d-temp-buffer
  2759. along a selected axis.
  2760. @{b}Parameters@{ub}
  2761. Name        Possible Values/Unit            Description
  2762. @{uu}
  2763. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  2764.             TEMP3D1, ..., TEMP3D4
  2765. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2766.             TEMP3D1, ..., TEMP3D4
  2767. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2768.                                             is used for the last time and can be modified
  2769.                                             directly to conserve both memory and time
  2770. Axis        X, Y, Z                         axis to rotate around
  2771. Radius      pixels                          twirl-radius
  2772. Amount      degress                         twirl amount, very large values
  2773.                                             like 1000 are allowed
  2774. Power       float                           parameter describing the local
  2775.                                             deformation, large values like 6 concentrate
  2776.                                             the deformation around the centre of the circle
  2777. OriginX,    pixels                          centre of the effect
  2778. OriginY,    pixels
  2779. OriginZ     pixels
  2780. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  2781. settings can be adjusted from within the global @{" Render-Settings " link opRenderSettings}-Window.
  2782. @endnode
  2783. @node opTwist
  2784. @{b}Twist-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Twist.pic"}
  2785. This operator rotates a image along a specified axis with
  2786. varying rotation-angle to create a helix-like shape.
  2787. @{b}Parameters@{ub}
  2788. Name        Possible Values/Unit            Description
  2789. @{uu}
  2790. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  2791.             TEMP3D1, ..., TEMP3D4
  2792. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2793.             TEMP3D1, ..., TEMP3D4
  2794. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2795.                                             is used for the last time and can be modified
  2796.                                             directly to conserve both memory and time
  2797. Axis        X, Y, Z                         axis to rotate around
  2798. Amount      degrees                         maximum rotate-angle
  2799. Dist        pixels                          distance of the effect
  2800. OriginX,    pixels                          the point at which the rotation starts
  2801. OriginY,    pixels
  2802. OriginZ     pixels
  2803. Negative Dist-values are allowed and cause the propagation
  2804. along the opposite direction.
  2805. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  2806. settings can be adjusted from within the global @{" Render-Settings " link opRenderSettings}-Window.
  2807. @endnode
  2808. @node opMagnet3D
  2809. @{b}Magnet3D-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Magnet3D.pic"}
  2810. This operator simulates the dragging of a point of the input-image
  2811. or -3d-temp-buffer using a model of plasticity. This makes it possible
  2812. to add a third dimension to selected parts of an image.
  2813. @{b}Parameters@{ub}
  2814. Name        Possible Values/Unit            Description
  2815. @{uu}
  2816. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  2817.             TEMP3D1, ..., TEMP3D4
  2818. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2819.             TEMP3D1, ..., TEMP3D4
  2820. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2821.                                             is used for the last time and can be modified
  2822.                                             directly to conserve both memory and time
  2823. SrcX,       pixels                          coordinates of the point to drag
  2824. SrcY,       pixels
  2825. SrcZ        pixels
  2826. DestX,      pixels                          destination of the point
  2827. DestY,      pixels
  2828. DestZ       pixels
  2829. Shape       SMOOTH, SHARP                   selects the kind of deformation
  2830. Strength    float                           represents the elasticity of the "material",
  2831.                                             larger values like 5.0 will cause the deformation
  2832.                                             of only a part of the object, small values like 0.1
  2833.                                             will cause the deformation of the whole object
  2834. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  2835. settings can be adjusted from within the global @{" Render-Settings " link opRenderSettings}-Window.
  2836. @endnode
  2837. @node opTransform3D
  2838. @{b}Transform3D-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Transform3D.pic"}
  2839. This operator performs some standard 3d-transformations on
  2840. images or 3d-temp-buffers. This makes it for example possible
  2841. to deform a sphere into a lens or to apply other 3d-effects
  2842. along any axis.
  2843. @{b}Parameters@{ub}
  2844. Name        Possible Values/Unit            Description
  2845. @{uu}
  2846. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  2847.             TEMP3D1, ..., TEMP3D4
  2848. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2849.             TEMP3D1, ..., TEMP3D4
  2850. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2851.                                             is used for the last time and can be modified
  2852.                                             directly to conserve both memory and time
  2853. ScaleX,     -10.0...10.0                    object-scaling
  2854. ScaleY,     -10.0...10.0
  2855. ScaleZ      -10.0...10.0
  2856. TransX,     pixels                          object-translation
  2857. TransY,     pixels
  2858. TransZ      pixels
  2859. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  2860. Alpha       degrees                         first rotation angle
  2861. Beta        degrees                         second rotation angle
  2862. OriginX,    pixels                          centre for scaling and rotating
  2863. OriginY,    pixels
  2864. OriginZ     pixels
  2865. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  2866. settings can be adjusted from within the global @{" Render-Settings " link opRenderSettings}-Window.
  2867. @endnode
  2868. @node opJoin3D
  2869. @{b}Join3D-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Join3D.pic"}
  2870. This operator joins two different 3d-temp-buffers and makes
  2871. it so possible to compose images in the 3d-space.
  2872. @{b}Parameters@{ub}
  2873. Name        Possible Values/Unit            Description
  2874. @{uu}
  2875. Input1      TEMP3D1, ..., TEMP3D4           1st input buffer
  2876. Input2      TEMP3D1, ..., TEMP3D4           2nd input buffer
  2877. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2878.             TEMP3D1, ..., TEMP3D4
  2879. Centre      ON, OFF                         centre the joined object
  2880. Because no additional transformations are applied to the images the two
  2881. input buffers must be different (otherwise joining makes no sense).
  2882. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  2883. settings can be adjusted from within the global @{" Render-Settings " link opRenderSettings}-Window.
  2884. @endnode
  2885. @node opBump3D
  2886. @{b}Bump3D-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Bump3D.pic"}
  2887. This operator applies the grayscale-levels of a bump-map
  2888. as z-values to an image or 3d-temp-buffer. For good results
  2889. the bump-map should be very smooth. Such smooth images can be
  2890. easily created using the @{" Convolve " link opConvolve}-Operator with the
  2891. default 5x5 matrix.
  2892. @{b}Parameters@{ub}
  2893. Name        Possible Values/Unit            Description
  2894. @{uu}
  2895. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  2896.             TEMP3D1, ..., TEMP3D4
  2897. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2898.             TEMP3D1, ..., TEMP3D4
  2899. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2900.                                             is used for the last time and can be modified
  2901.                                             directly to conserve both memory and time
  2902. Map         STREAM, TEMP1, ..., TEMP8       bump-map
  2903. Amount      integer                         maximum height corresponding to a
  2904.                                             grayscale level of 255
  2905. NoGround    ON, OFF                         subtract the "ground" (the average) of
  2906.                                             the bumpmap to produce only contrast and
  2907.                                             no additional translation
  2908. Width       pixels                          width of the bump-map
  2909. Height      pixels                          height of the bump-map
  2910. Aspect      IGNORE, TAKEWIDTH, TAKEHEIGHT   aspect of the bump-map (see @{" Scale " link opScale})
  2911. OriginX     pixels                          left edge of the bump-map
  2912. OriginY     pixels                          top edge of the bump-map
  2913. Centre      ON, OFF                         centre the bumpmap inside of the
  2914.                                             input-image
  2915. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  2916. settings can be adjusted from within the global @{" Render-Settings " link opRenderSettings}-Window.
  2917. @endnode
  2918. @node opGenlock3D
  2919. @{b}Genlock3D-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Genlock3D.pic"}
  2920. This operator removes all faces matching a color-specification
  2921. to produce a genlock-like effect.
  2922. @{b}Parameters@{ub}
  2923. Name        Possible Values/Unit            Description
  2924. @{uu}
  2925. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  2926.             TEMP3D1, ..., TEMP3D4
  2927. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2928.             TEMP3D1, ..., TEMP3D4
  2929. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2930.                                             is used for the last time and can be modified
  2931.                                             directly to conserve both memory and time
  2932. Red1,       0...255                          genlock-color 1
  2933. Green2,     0...255
  2934. Blue        0...255
  2935. Red2,       0...255                          genlock-color 2
  2936. Green2,     0...255
  2937. Blue2       0...255
  2938. Genlock                                      type of genlock:
  2939.             SINGLE COLOR                      normal genlock using color 1
  2940.             INRANGE                           extended genlock using all colors
  2941.                                               inside the range color1...color2
  2942.             OUTRANGE                          extended genlock using all colors
  2943.                                               outside the range color1...color2
  2944. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  2945. settings can be adjusted from within the global @{" Render-Settings " link opRenderSettings}-Window.
  2946. @endnode
  2947. @node opAxis3D
  2948. @{b}Axis3D-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Axis3D.pic"}
  2949. This very complex operator adds threedimensional axes including
  2950.  *tickmarks
  2951.  *ticklabels
  2952.  *axes-labels
  2953. to any 3D-object. The main purpose of this PlugIn is to produce
  2954. function- or data-plots at extrem high quality. Therefore a very
  2955. high resolution (e.g. 1280x800) is the "natural mode" of this PlugIn.
  2956. Such high-quality-images may be included into TeX-documents
  2957. using the @{" EPSSaver " link EPSSaverPlugIn}-PlugIn and DVIPS
  2958. easily.
  2959. Because the created boxed axis has 12 edges there are 4 choices
  2960. to place the x-, -y and z-labels.
  2961. @{b}Parameters@{ub}
  2962. Name        Possible Values/Unit            Description
  2963. @{uu}
  2964. Input       TEMP3D1, ..., TEMP3D4           input buffer
  2965. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2966.             TEMP3D1, ..., TEMP3D4
  2967. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2968.                                             is used for the last time and can be modified
  2969.                                             directly to conserve both memory and time
  2970. XMin,       float                           x-range for the axis
  2971. XMode       AUTOMATIC, MANUAL               mode to compute x-tick-mark-positions
  2972. XTicks                                      number of tickmarks in x-direction
  2973.                                             (XMode=AUTOMATIC)
  2974. LXMin,      float                           tick-range in x-direction
  2975. LXMax,                                      (XMode=MANUAL)
  2976. YMin,                                       the same for the other axes
  2977. Tickness    pixels                          thickness of the axis and the labels
  2978. TickSize    pixels                          length of the tickmarks
  2979. Red,        0...255                         color of the axis and the tickmarks
  2980. Green,
  2981. Labels      ON, OFF                         turn creation of labels on/off
  2982. FontSize    pixels                          height of the ticklabels, the axes-labels
  2983.                                             are scaled up a little bit
  2984. XPlace                                      where to place the x-labels, the
  2985.             FRONTBOTTOM,                    "right" value depends on the view-angle
  2986.             FRONTTOP,
  2987.             BACKBOTTOM,
  2988.             BACKTOP
  2989. YPlace                                      where to place the y-labels, the
  2990.             RIGHTBOTTOM,                    "right" value depends on the view-angle
  2991.             RIGHTTOP,
  2992.             LEFTBOTTOM,
  2993.             LEFTTOP
  2994. ZPlace                                      where to place the z-labels, the
  2995.             FRONTRIGHT,                     "right" value depends on the view-angle
  2996.             FRONTLEFT,
  2997.             BACKRIGHT,
  2998.             BACKLEFT
  2999. LXSkip,     float                           additional space between the axes
  3000. LYSkip,                                     and the labels
  3001. LZSkip
  3002. LXAlpha,    degrees                         individual (additional) rotation-angles
  3003. LXBeta,                                     of the x-, y- and z-labels
  3004. LYAlpha,
  3005. LYBeta,
  3006. LZAlpha,
  3007. LZBeta,
  3008. LRed,       0...255                         color of the labels
  3009. LGreen,
  3010. lBlue
  3011. XLabel,     string                          addional axes-labels
  3012. YLabel,
  3013. ZLabel
  3014. Phong       ON, OFF                         turn phong-shading for the axis on/off
  3015. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  3016. settings can be adjusted from within the global @{" Render-Settings " link opRenderSettings}-Window.
  3017. @{b}Notes@{ub}
  3018. 1. This PlugIn uses a coordinate-system which is much more
  3019.    "handy" than Wildfire's standard coordinate-system
  3020.    to create function-plots:
  3021.             y^                  z^
  3022.             | /z                | /y
  3023.             |/                  |/
  3024.              ---> x              ---> x
  3025.            "standard"           Axis3D
  3026.    Because this coordinate system is only used while creating
  3027.    the objects all view-settings work as usual.
  3028. 2. As mentioned above this PlugIn is ment to create plots at
  3029.    highend-quality. So lots of memory, the use of an extreme high
  3030.    resolution (100...300 dpi) and at least a 68060-processor are
  3031.    "natural" requirements for this PlugIn. Including such created
  3032.    plots into TeX-documents results in huge files (such as 20 MB per plot).
  3033.    This is natural, too.
  3034. 3. Don't forget to set the background-color to white
  3035.    (from with the @{" Processor " link ProcessorWindow}-Window) if you want to
  3036.    print out it later.
  3037. 4. The "AUTOMATIC"-mode uses an intelligent method to
  3038.    compute the "right" tick-step. But sometimes the 1st or
  3039.    last tickmark may be too close to a perpendicular axis.
  3040.    In this case you have to set the tickmark-range manually.
  3041. 5. Because this PlugIn with
  3042.     *87 gadgets,
  3043.     *50 parameters,
  3044.     *5000 lines of code and
  3045.     *1500 lines of data generated by a special tool written only
  3046.      for this purpose
  3047.    took much effort, it must be purchased separately.
  3048. 6. You may find that the price mentioned in the @{" Shareware " link shareware}-section
  3049.    is too high (for you). But because of
  3050.     *the high quality,
  3051.     *the stupendous operation-speed and
  3052.     *the lots of adjustable parameters
  3053.    this price is fair.
  3054. @endnode
  3055. @node opLWOB
  3056. @{b}LWOB-Operator@{ub} @{" Example " system "visage wf:doc/pictures/LWOB.pic"}
  3057. This operator reads in a Lightwave-object and converts it into
  3058. Wildfire's 3D-format. This makes it possible to combine
  3059. phong-shaded 3D-objects and images using the @{" PowerPlugs!-concept " link PowerPlugs!}-
  3060. mechanism.
  3061. Only 1-, 2-, 3-, and 4-point-polygons are supported, all polygons
  3062. with more points are ignored while reading.
  3063. To simplify the creation of object-catalogues the filename
  3064. can be plotted directly to the generated image and
  3065. whole drawers can be processed easily.
  3066. @{b}Parameters@{ub}
  3067. Name        Possible Values/Unit            Description
  3068. @{uu}
  3069. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  3070.             TEMP3D1, ..., TEMP3D4
  3071. Text                                        toggle the kind of text to be plotted to the image,
  3072.             OFF,                             no text will be generated,
  3073.             SMALL,                           plot the filename without the path,
  3074.             FULL                             plot the full filename with path
  3075. Select Font (gadget)                        select the font for the generated string
  3076. File        string                          object-file or drawer to be scanned
  3077. Width       pixels                          width of the image to be created
  3078. Height      pixels                          height of the image to be created
  3079. TRed,       0...255                         text color
  3080. TGreen,     0...255
  3081. TBlue       0...255
  3082. If the specified input-file cannot be found the path is scanned
  3083. as drawer to create an alphabetically sorted filelist.
  3084. Later the n-th item of this list is processed at frame n.
  3085. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  3086. settings can be adjusted from within the global @{" Render-Settings " link opRenderSettings}-Window.
  3087. See the @{" Tutorial " link Tutorials} for an example.
  3088. @endnode
  3089. @node opPerspective
  3090. @{b}Perspective-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Perspective.pic"}
  3091. This operator adds perspective to an image.
  3092. @{b}Parameters@{ub}
  3093. Name        Possible Values/Unit            Description
  3094. @{uu}
  3095. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  3096.             TEMP3D1, ..., TEMP3D4
  3097. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  3098.             TEMP3D1, ..., TEMP3D4
  3099. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  3100.                                             is used for the last time and can be modified
  3101.                                             directly to conserve both memory and time
  3102. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  3103. settings can be adjusted from within the global @{" Render-Settings " link opRenderSettings}-Window.
  3104. @endnode
  3105. @node opWater
  3106. @{b}Water-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Water.pic"}
  3107. This operator applies a threedimensional anharmonic water-wave
  3108. to an image.
  3109. @{b}Parameters@{ub}
  3110. Name        Possible Values/Unit            Description
  3111. @{uu}
  3112. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  3113.             TEMP3D1, ..., TEMP3D4
  3114. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  3115.             TEMP3D1, ..., TEMP3D4
  3116. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  3117.                                             is used for the last time and can be modified
  3118.                                             directly to conserve both memory and time
  3119. Frame       integer>0                       current frame
  3120. Frames      integer>0                       frame count describing a full cycle
  3121. Times       integer>0                       number of rings, values in the range 1..3 are
  3122.                                             are always a good choice
  3123. Rings       integer>0                       number of times the growing of rings is performed,
  3124.                                             after one cycle the 1st ring has the
  3125.                                             distance times*wavelength from the centre,
  3126.                                             values 2..10 give good results
  3127. Axis                                        direction of propagation,
  3128.             X,                               parallel to the x-axis,
  3129.             Y,                               parallel to the y-axis,
  3130.             XY,                              radial propagation
  3131. Amplitude   pixels                          wave-amplitude, this value should be always in
  3132.                                             the range 1..4
  3133. Wavelength  pixels                          wavelength
  3134. OriginX,    pixels                          location of the wave-source
  3135. OriginY     pixels
  3136. Damping     ON, OFF                         toggle damping on/off
  3137. Damping     float                           damping-value
  3138. moveXY      ON, OFF                         specify if the deformation is applied to all
  3139.                                             components (x,y,z) or not. If this option is set
  3140.                                             there may occur some singularities ("bad points"),
  3141.                                             but this mode is very close to the reality.
  3142. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  3143. settings can be adjusted from within the global @{" Render-Settings " link opRenderSettings}-Window.
  3144. @endnode
  3145. @node opWave3D
  3146. @{b}Wave3D-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Wave3D.pic"}
  3147. This operator applies a harmonic wave in the threedimensional
  3148. space to an image.
  3149. @{b}Parameters@{ub}
  3150. Name        Possible Values/Unit            Description
  3151. @{uu}
  3152. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  3153.             TEMP3D1, ..., TEMP3D4
  3154. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  3155.             TEMP3D1, ..., TEMP3D4
  3156. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  3157.                                             is used for the last time and can be modified
  3158.                                             directly to conserve both memory and time
  3159. Frame       integer>0                       current frame
  3160. Frames      integer>0                       number of frame describing a full cycle
  3161. Amplitude   pixels                          wave-amplitude
  3162. Wavelength  pixels                          wavelength
  3163. Phase       degrees                         phase
  3164. Axis                                        direction of propagation,
  3165.             X                                parallel to the x-axis
  3166.             Y                                parallel to the y-axis
  3167.             XY                               radial propagation in the xy-plane
  3168.             RADIAL                           radial propagation in the xyz-space
  3169. OriginX,    pixels                          position of the wave-source
  3170. OriginY     pixels
  3171. Damping     ON, OFF                         toggle damping on/off
  3172. Damping     float                           damping-value
  3173. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  3174. settings can be adjusted from within the global @{" Render-Settings " link opRenderSettings}-Window.
  3175. @endnode
  3176. @node opWrap
  3177. @{b}Wrap-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Wrap.pic"}
  3178. This operator wraps an image onto a sphere or a tube. An unique
  3179. feature is the deformation of "unwrapped" portions of the image
  3180. in "RADIUS"-mode.
  3181. @{b}Parameters@{ub}
  3182. Name        Possible Values/Unit            Description
  3183. @{uu}
  3184. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  3185.             TEMP3D1, ..., TEMP3D4
  3186. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  3187.             TEMP3D1, ..., TEMP3D4
  3188. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  3189.                                             is used for the last time and can be modified
  3190.                                             directly to conserve both memory and time
  3191. Axis                                        wrap axis,
  3192.             X,                               wrap the image onto a tube along the x-axis
  3193.             Y,                               wrap the image onto a tube along the y-axis
  3194.             XY,                              wrap the image onto a sphere
  3195. OriginX,    pixels                          origin of the sphere/tube
  3196. OriginY     prixels
  3197. Amount      0...100                         wrap-amount
  3198. Radius      pixels                          radius of the sphere or tube
  3199. Method                                      method used for wrapping,
  3200.             RADIUS,                          create a sphere/tube of the radius
  3201.                                              specified, wrap the image onto it and
  3202.                                              deform the unwrapped portions according
  3203.                                              to the shape
  3204.             AMOUNT                           create a sphere/tube to fit the whole
  3205.                                              wrapped image, the specified amount-value
  3206.                                              specifies the amount of wrapping in percent
  3207. Because this operator supports the @{" PowerPlugs! " link PowerPlugs!}-concept further
  3208. settings can be adjusted from within the global @{" Render-Settings " link opRenderSettings}-Window.
  3209. @endnode
  3210. @node opARexx
  3211. @{b}ARexx-Operator@{ub}
  3212. This operator makes it possible to exchange images with other applications.
  3213. The basic concept is to produce an ARexx-script which causes the application
  3214. to load, process and save a temperary image created by Wildfire.
  3215. @{b}Parameters@{ub}
  3216. Name         Possible Values/Unit            Description
  3217. @{uu}
  3218. Input        STREAM, TEMP1, ..., TEMP8       input buffer
  3219. Ouput        STREAM, TEMP1, ..., TEMP8       output buffer
  3220. Port         string                          ARexx-port of the application
  3221. Temp-File    string                          path for the temperorary image to be created
  3222. Add          (gadget)                        add a line to the ARexx-script
  3223. Kill         (gadget)                        kill the selected line
  3224. Up           (gadget)                        move the selected line up
  3225. Down         (gagget)                        move the selected line down
  3226. Clear        (gadget)                        clear the whole script
  3227. Add Variable (gadget)                        add a variable-entry to the selected line
  3228. Import       (gadget)                        load a previously saved script
  3229. Export       (gadget)                        save the current script to disk
  3230. A "normal" script should contain the three parts:
  3231.  -loading of the temporary image created by Wildfire
  3232.  -processing of this image
  3233.  -saving of the result
  3234. The 3rd part is the only important.
  3235. Every line of the script has to be entered in the format of
  3236. a C-printf-command. This allows one to use Envelopes in
  3237. such an ARexx-script.
  3238. The basic syntax is as follows:  "<formatstring>",arguments
  3239. (The enclosing '"'-characters are important.)
  3240. Three formats are supported:
  3241.  "%s" - for strings
  3242.  "%d" - for integer parameters
  3243.  "%f" - for float parameters
  3244. The number of format-specifiers must be always equal to the number
  3245. of arguments. Any special formats-strings like "%.4lf" are
  3246. not supported.
  3247. Examples:
  3248.  line to be entered:                 line generated by Wildfire:
  3249.   "integer: %d",10.3                  integer: 10
  3250.   "float: %f",10.3                    float: 10.3
  3251.   "i: %d, f: %f, s: '%s'",4,3,str     i: 4, f: 3.0, s: 'str'
  3252. To use an Envelope simply enter it's name as argument, rounding
  3253. is performed if you specify "%d" as corresponding formatstring.
  3254. The filename of the temporary image can be omitted using
  3255. the predefined argument "tempfile".
  3256. Now let's create a working example. Assume you want to have
  3257. ADPro to halve your images and to apply an Antique-effect
  3258. to the result.
  3259. At first you have to set the path of your application (which
  3260. will be started automatically if it's port cannot be located)
  3261. from within the @{" Preferences-Window " link PreferencesWindow}.
  3262. After that you have to specify the portname, in this case "ADPro".
  3263. At first entry in the script you should specify ADPro's default Loader:
  3264.  "lformat "universal""
  3265. Now the image can be loaded
  3266.  "load '%s'",tempfile
  3267. Apply the effects:
  3268.  "operator halve"
  3269.  "operator antique"
  3270. Specify the the Saver to use:
  3271. "sformat "iff""
  3272. Save the image:
  3273.  "save '%s' raw",tempfile
  3274. That's all. Now you should save this script
  3275.  "lformat "universal""
  3276.  "load '%s'",tempfile
  3277.  "operator halve"
  3278.  "operator antique"
  3279.  "sformat "iff""
  3280.  "save '%s' raw",tempfile
  3281. as "reference-script". For further purposes only the "operator"-lines
  3282. have to be replaced.
  3283. @endnode
  3284. @node opComment
  3285. @{b}Comment-Operator@{ub}
  3286. This operator simply allows you to add comments to the Processor-script.
  3287. @{b}Parameters@{ub}
  3288. Name        Possible Values/Unit      Description
  3289. @{uu}
  3290. String      string                    the comment
  3291. @endnode
  3292. @node opRaster
  3293. @{b}Raster-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Raster.pic"}
  3294. This operator applies a black raster to an image. The main
  3295. purpose of this PlugIn is to reduce the size of delta-compressed
  3296. animations without loosing too much details.
  3297. @{b}Parameters@{ub}
  3298. Name        Possible Values/Unit            Description
  3299. @{uu}
  3300. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  3301. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  3302. @endnode
  3303. @node opSetBackground
  3304. @{b}SetBackground-Operator@{ub}
  3305. This operator is made to change the global background-color
  3306. of the @{" Processor-Window " link ProcessorWindow} dynamically.
  3307. @{b}Parameters@{ub}
  3308. Name        Possible Values/Unit            Description
  3309. @{uu}
  3310. Red,        0...255                         color
  3311. Green,
  3312. @endnode
  3313. The original values are rembered and restored while initializing a
  3314. new stream.
  3315. @node opGetDimensions
  3316. @{b}GetDimensions-Operator@{ub}
  3317. This operator applies image-dimensions to the predefined calculator-symbols
  3318. "pcWidth" and "pcHeight". This makes it possible to create scripts which
  3319. are independant of the image-size. This PlugIn only makes sense
  3320. in conjunction with procedural Variables specified from within
  3321. the @{" Variables-Window " link VariablesWindow}.
  3322. @{b}Parameters@{ub}
  3323. Name        Possible Values/Unit            Description
  3324. @{uu}
  3325. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  3326. Output                                      symbol to modify
  3327.             WIDTH                            pcWidth
  3328.             HEIGHT                           pcHeight
  3329.             BOTH                             pcWidth and pcHeight
  3330. @endnode
  3331. @node opText
  3332. @{b}Text-Operator@{ub} @{" Example " system "visage wf:doc/pictures/Text.pic"}
  3333. This operator renders text in various styles. Unlike to other programs
  3334. whole text-files can be used and edited.
  3335. @{b}Parameters@{ub}
  3336. Name        Possible Values/Unit            Description
  3337. @{uu}
  3338. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  3339. Style                                       render-style
  3340.             NORMAL                           use the font without applying
  3341.                                              any changes, this method should be
  3342.                                              selected using color-fonts
  3343.             OUTLINE                          draw outlines of the selected font
  3344.             EMBOSS                           produce a threedimensional look
  3345. Adjust      LEFT, CENTERED, RIGHT           text-adjustment, this setting has only an effect when
  3346.                                             plotting more than one line of text
  3347. Red,        0...255                         text-color
  3348. Green,      0...255
  3349. Blue        0...255
  3350. Strength    pixels                          thickness of the outline drawed around the
  3351.                                             text in OUTLINE- or EMBOSS-mode
  3352. Intensity   float                           light-intensity (1.0=normal)
  3353. LightX,     pixels                          light-position
  3354. LightY,     pixels
  3355. LightZ      pixels
  3356. HSkip       pixels                          additional space between two lines
  3357. Select Font (gadget)                        select the font to use for all lines
  3358. Add         (gadget)                        add a line of text
  3359. Kill        (gadget)                        delete the selected line
  3360. Up          (gadget)                        move the selected line up
  3361. Down        (gadget)                        move the selected line down
  3362. Clear       (gadget)                        clear all lines of text
  3363. Import      (gadgt)                         import text from a file
  3364. Export      (gadget)                        save the current text to disk
  3365. @endnode
  3366. @node opGSImport
  3367. @{b}GSImport-Operator@{ub} @{" Example " system "visage wf:doc/pictures/GSImport.pic"}
  3368. This PlugIn runs Ghostscript to import Postscript (TM)-files. To
  3369. consume both time and memory only the first page of documents is
  3370. processed. But the main purpose of this PlugIn is to convert
  3371. EPS-illustrations into "editable images".
  3372. @{b}Parameters@{ub}
  3373. Name        Possible Values/Unit            Description
  3374. @{uu}
  3375. Output      STREAM, TEMP1, ..., TEMP8  Output buffer
  3376. File        string                     Postscript-file
  3377. Resolution  integer                    Resolution
  3378. XGeom,      pixels                     crop-region
  3379. YGeom
  3380. View        (gadget)                   Display the file using the default displayer
  3381. @{b}Notes@{ub}
  3382. A) This PlugIn requires a complete installation of Ghostscript.
  3383.    Because only the ppmraw-device is used there is no need for a special
  3384.    version. Even version 2.62 for AmiWin was sucessfully tested.
  3385. B) Due it's nature this PlugIn is relatively slow. But in comparison to
  3386.    similar X11-Tools this is normal.
  3387. C) If you want to import a very small figure at high resolution you
  3388.    have to set the geometry-parameters.
  3389.    Example:
  3390.    Your figure has a dimension of about 3x2.5 cm and you want to import
  3391.    it at a resolution of 120 dpi. If you don't change the geometry-parameters
  3392.    the WHOLE page is written at this resolution which requires a LOT
  3393.    of memory and wastes much time. In this example you should specify
  3394.    a crop region of about 320x256 instead.
  3395. D) Use the @{" AutoCrop " link opAutoCrop}-PlugIn to crop the
  3396.    "region of interest" from the imported page.
  3397. @{b}Copyrights@{ub}
  3398. Ghostscript is Copyright (C) 1989, 1992, 1993 Aladdin Enterprises.
  3399. PostScript is a trademark of Adobe Systems, Incorporated.
  3400. AmiWin is Copyright (C) 1994, 1995 Holger Kruse.
  3401. @endnode
  3402. @NODE beispiele "5. Examples"
  3403. @{b}5. Examples
  3404. -----------------------------------------------------------------@{ub}
  3405.  (i) An animation will be displayed in negative colors and a smaller
  3406.      version of the anim will be placed in the right colors over
  3407.      the `negative` animation
  3408.      Scheme:
  3409.       *STREAM to negativ and save to TEMP1
  3410.       *STREAM to halve and save to STREAM
  3411.       *Compose TEMP1 as background and STREAM as foreground
  3412.        and save to STREAM
  3413.      ARexx-Program:
  3414.       pc_add negative stream temp1
  3415.       pc_add scale stream stream width/2 height/2
  3416.       pc_add compose width/3 height/3 100 temp1 stream stream none
  3417.      NOTE:
  3418.     *The ARexx-notation is very useful. So you can take the examples
  3419.      as macros and you`ll learn how to use the ARexx port of Wildfire,
  3420.      too.
  3421.     *Of course you should try out the examples inside the program,
  3422.      first. Just start @{" WILDFIRE " link Wildfire.guide/MAIN}, klick on the PROCESSOR-GADGET,
  3423.      and push the ADD BUTTON. Doubleclick on NEGATIVE and doubleclick
  3424.      on the NEGATIVE entry in the script. Now you can select STREAM as INPUT and
  3425.      TEMP1 as output. Do the needed things for the other 2 commands, too.
  3426.     *width and height are the height and the width of the animation or
  3427.      the single-pictures. With the ARexx commands "T_ANIMINFO" or
  3428.      "T_PICINFO" you can get the needed details.
  3429.  (ii) An animation will be placed on a colored background using a white
  3430.       border with shadow.
  3431.       Scheme:
  3432.     *create a colored background with width+80 and height+80 in
  3433.      "TEMP1"
  3434.     *create a white picture with width+20 and height+20 in "TEMP2"
  3435.      the border-size is 10 pixels (20/2)
  3436.     *create a black picture with width+20 and height+20 in "TEMP3"
  3437.      the border-size is 10 pixels, too
  3438.     *place the black picture on the colored background with offset
  3439.      40x40 pixels
  3440.     *place the white picture on the colored background (now with
  3441.      the black picture on it) with offset 30x30
  3442.     *all these things you have to do ONLY 1 time, the result-picture
  3443.      will be saved to buffer "TEMP1" and will NOT be changed anymore!
  3444.      So we can tell @{" Wildfire " link Wildfire.guide/MAIN} that it has to do this
  3445.       effect only for the first frame!
  3446.     *every picture from the animation will be placed with
  3447.      offset 40x40 on the created colored picture with black and white
  3448.      border.
  3449.       ARexx-Programm:
  3450.        /* create background and save to TEMP1  */
  3451.        pc_add createimage temp1 width+80 height+80 255 0 0  255 255 0  0 255 0  0 0 255
  3452.        pc_add createimage temp2 width+20 height+20 255 255 255  255 255 255  255 255 255  255 255 255
  3453.        pc_add createimage temp3 width+20 height+20 0 0 0  0 0 0  0 0 0  0 0 0
  3454.        pc_add compose 40 40 100 temp1 temp3 temp1 none
  3455.        pc_add compose 30 30 100 temp1 temp2 temp1 none
  3456.        /* only do this operations at frame 1 */
  3457.        pc_select createimage 1
  3458.        pc_to 1
  3459.        pc_select createimage 2
  3460.        pc_to 1
  3461.        pc_select createimage 3
  3462.        pc_to 1
  3463.        pc_select compose 1
  3464.        pc_to 1
  3465.        pc_select compose 2
  3466.        pc_to 1
  3467.        /* compose STREAM with TEMP1 for every animation-picture */
  3468.        pc_add compose 40 40 100 temp1 stream stream none
  3469. @ENDNODE
  3470. @remark /*************************************************************/
  3471. @remark /*
  3472. @remark                            Developer
  3473. @remark */
  3474. @remark /*************************************************************/
  3475. @node Developer
  3476. @{b}The YAFA-Format@{ub}
  3477. If you want to develop your own YAFA-player or just want
  3478. to support the YAFA-format from within your application you may
  3479. have a look at the @{" YAFA-Format-Description " link YAFA-doc.guide/MAIN}.
  3480. @{b}Wildfire-PlugIns@{ub}
  3481. If you on the other side are interested in developing addional
  3482. PlugIns (savers, operators or general PlugIns) for Wildfire please
  3483. contact the author at "epgbc@cluster1.urz.Uni-Halle.DE".
  3484. If there are at leat 10 requests I will start to create
  3485. a developer-kit including working examples and full
  3486. documentation.
  3487. Currently (Thursday 05-Jun-97) there are only two requests.
  3488. The only supported compiler is GCC, but SAS may work, too.
  3489. @endnode
  3490. @remark /*************************************************************/
  3491. @remark /*
  3492. @remark                            ARexx
  3493. @remark */
  3494. @remark /*************************************************************/
  3495. @node ARexx
  3496. @{b}The ARexx-port@{ub}
  3497. The ARexx-port is another powerful feature of Wildfire which
  3498. allows you
  3499.   -to use all features from within other programs
  3500.   -to enhance the GUI with your own windows without
  3501.   -to write own ARexx-applications which operate like the program itself
  3502. Example: You have designed a nice special effect like a transition
  3503.          between three animations or whatever. Now you want to integrate
  3504.          this nice feature into Wildfire as a "natural feature".
  3505.          This is easy ! All you have to do is to design a so-called
  3506.          "Custom-window" with buttons, string-gadgets, switches, ...
  3507.          and to write the procedure itself.
  3508. @{b}Topics:@{ub}
  3509.  @{" Usage          " LINK ARexxUsage}
  3510.  @{" Error-Messages " LINK ARexxErrors}
  3511.  @{" Custom-windows " LINK ARexxCWindows}
  3512.  @{" Commands       " LINK ARexxCommands}
  3513. @endnode
  3514. @node ARexxUsage
  3515. The name of the ARexx-port is equal to the name of the publicscreen
  3516. opened by Wildfire.
  3517. For the first running copy of the programm the port is named "Wildfire",
  3518. for the second "Wildfire.1" and so on.
  3519. I don't think that's very usefull to run more copies at one time -
  3520. but it's possible.
  3521. The command-hierarchy is equal to the window-hierarchy.
  3522. This makes it very easy for you to find out the right name
  3523. for a particular command.
  3524. Every command consists of the hierarchy-identifier and
  3525. the function-name, e.g. the "Play"-button of the Player-window
  3526. is named "P_PLAY".
  3527. Most of the arguments are strings or integer-values. It's recommended
  3528. to enclose strings into "'"-characters otherwise they are converted
  3529. to uppercase by the ARexx-system.
  3530. There are three ways to invoke ARexx-commands:
  3531.  1. scripts
  3532.   1a) called as macros from Wildfire after pressing one of the function-keys
  3533.   1b) started from a shell
  3534.  2. direct commands
  3535.  3. external programs
  3536. Direct commands are nice to try out a special command, e.g., if you
  3537. want to check out the "PL_APPENDDIR"-command you may type in a shell-
  3538. window:
  3539.  rx "address 'Wildfire'
  3540. pl_appenddir 'data:grafix/frames'"
  3541. Another way to test single commands is to use the "Command"-PlugIn.
  3542. An input string
  3543.  "pl_appenddir 'data:grafix/frames'"
  3544. would cause the same result as the example shown above.
  3545. The advantage of the use of the Command-PlugIn is the fact that it's
  3546. faster because it doesn't use ARexx and displays the results
  3547. of the in the same window. (ARexx-errors sometimes are cryptic.)
  3548. @endnode
  3549. @node ARexxCWindows
  3550. Custom-windows are another powerful feature of Wildfire.
  3551. You can create as much own windows as you want, they can
  3552. be loaded, saved, opened, closed, deleted, ... at any time.
  3553. So it's possible to create Toolmanager-like docks on the
  3554. Wildfire-screen which can be loaded at startup.
  3555. But the main purpose is to give you the possibility to enhance
  3556. the program easily and to fit it to your needs.
  3557. Window-elements
  3558. -------------------------------------------------------------------
  3559. Custom windows can contain
  3560.   -buttons
  3561.   -string-gadgets
  3562.   -switches
  3563.   -lines
  3564.   -boxes and
  3565.   -texts.
  3566. All these elements remain to the window as long as you
  3567. don't kill them.
  3568. But you have the possibility to apply graphical elements
  3569. which are not stored as structures to the window.
  3570. So you could create an own progress-bar or a function-plotter..
  3571. Attention:
  3572. If you want to have spaces in you window- or gadget-names
  3573. you have to use a special character (code 160).
  3574. (This restriction is due the command-parsing.)
  3575. Example:
  3576. space='a0'x
  3577. wnd="Transition.rexx" || space || "V0.3"
  3578. Window-coordinates
  3579. -------------------------------------------------------------------
  3580. Because Wildfire has a fontsensitve GUI you can't use absolute
  3581. coordinates to specify window-elements.
  3582. So you have to design your windows using a topaz.8-font
  3583. to ensure that they look perfect for example with a times.24-font.
  3584. If you want to design a very difficult window with 500
  3585. gadgets, 300 bevelboxes, ... it's seems to be no bad idea
  3586. to use GadToolsBox
  3587. . Using this nice program you can drag and
  3588. size your gadgets in an easy way - just take down the coordinates
  3589. after finishing it.
  3590. A simple example
  3591. -------------------------------------------------------------------
  3592. The following example called "ConvertPics.rexx" opens a window
  3593. which lets you specify a range of your current picture-list
  3594. and has a "Convert"-button. This makes is possible to
  3595. convert only a small part of the picture-list which is
  3596. very usefull if you want to test a very complex process.
  3597. 1. Program-structure
  3598.     (i) create the window, initialize the parameters
  3599.     (ii) perform an endless loop receiving messages:
  3600.           1. check for pressed gadgets
  3601.               -> start filerequester, read gadget-contents
  3602.           2. check for the closegadget
  3603.               -> exit
  3604.           3. check for the start-button
  3605.               -> check the parameters
  3606.               -> do it
  3607. 2. Program
  3608.     /* Are we right ? */
  3609.     if ~show('P','Wildfire') then do
  3610.      say " Error: The Wildfire-program must be started before executing this script."
  3611.      exit
  3612.     end
  3613.     /* Initialize the global variables */
  3614.     address "Wildfire"
  3615.     options results
  3616.     wnd="Convert"
  3617.     from=1
  3618.     to=1
  3619.     /* Create the window */
  3620.     cw_kill wnd
  3621.     cw_add wnd 309 70
  3622.     /* Create the Gadget */
  3623.     cw_addgadget wnd string 202 11 84 "From"
  3624.     cw_addgadget wnd string 202 27 84 "To"
  3625.     cw_addgadget wnd button 25 46 261 "Convert"
  3626.     /* It's important to open the window before setting the gadgets */
  3627.     cw_open wnd
  3628.     cw_setgadget wnd "From" from
  3629.     cw_setgadget wnd "To" to
  3630.     /* main loop */
  3631.     do forever
  3632.      /* check if the window is still open */
  3633.      cw_isopen wnd
  3634.      qt=result
  3635.      /* no: leave the script */
  3636.      if qt=0 then call cleanup
  3637.      /* wait for gadgets */
  3638.      cw_wait wnd
  3639.      gadget=result
  3640.      /* which gadget was pressed */
  3641.      if gadget="From" then do
  3642.       /* get the "from"-value from the gadget */
  3643.       cw_getgadget wnd "From"
  3644.       from=result
  3645.      end
  3646.      else if gadget="To" then do
  3647.       /* get the "to"-value from the gadget */
  3648.       cw_getgadget wnd "To"
  3649.       to=result
  3650.      end
  3651.      else if gadget="Convert" then do
  3652.       /* now let's do it */
  3653.       c_convertpics from to
  3654.      end
  3655.     end
  3656.     cleanup:
  3657.     cw_kill wnd
  3658.     exit
  3659.  GadToolsBox is Copyright 
  3660.  1991-93 Jaba Development
  3661. @endnode
  3662. @node ARexxErrors
  3663. There are 4 error-messages which will be shown together
  3664. with the command in the default CON:-window:
  3665.  1: wrong number of arguments
  3666.  2: wrong arguments
  3667.  3: unknown command
  3668.  4: command failed
  3669. Most of the commands are valid everywhere, but there are exeptions,
  3670. e.g. if you haven't defined any variable you can't open
  3671. the envelope-window. This would cause error 4.
  3672. Normally you can access all program functions without opening
  3673. any of the windows, but there are the following exceptions:
  3674.  -Timecodes-, AnimInfo-, Envelope- and EnvelopeAdvanced-commands
  3675.   require that the corresponding Window was opened
  3676.   (This is due the internal data-structure and no error or
  3677.    similar.)
  3678. If the program executes an ARexx-command all requesters
  3679. except the one invoked by the "M_MESSAGE"-command are
  3680. turned off, but the requester-messages are shown in the
  3681. Log-Window.
  3682. @endnode
  3683. @node ARexxCommands
  3684. The command-list below shows all available commands,
  3685. values enclosed into brackes are alternative keywords.
  3686.  Main:
  3687.   M_EXIT
  3688.   M_QUIT
  3689.   M_WAIT secs
  3690.   M_MESSAGE text
  3691.   M_REQUEST text (res=0: o.k.)
  3692.   M_OPENCONVERTER
  3693.   M_CLOSECONVERTER
  3694.   M_OPENPROCESSOR
  3695.   M_CLOSEPROCESSOR
  3696.   M_OPENEDITOR
  3697.   M_CLOSEEDITOR
  3698.   M_OPENPLAYER
  3699.   M_CLOSEPLAYER
  3700.   M_OPENPREFS
  3701.   M_CLOSEPREFS
  3702.   M_OPENINFO
  3703.   M_CLOSEINFO
  3704.   M_MOVE x y
  3705.   M_TOFRONT
  3706.   M_TOBACK
  3707.   M_OPENTMAKER
  3708.   M_CLOSETMAKER
  3709.   M_OPENIMOPTIONS
  3710.   M_CLOSEIMOPTIONS
  3711.   M_ADDICON file
  3712.   M_CLEANUP
  3713.   M_RESET
  3714.   M_LOAD
  3715.   M_SAVE
  3716. Tools:
  3717.   T_DELPICTURELIST
  3718.   T_GETNUMBER title [preset]
  3719.   T_GETSTRING title [preset]
  3720.   T_GETFILE title [preset]
  3721.   T_GETDRAWER titlee [preset]
  3722.   T_ANIMINFO name (0=o.k.)
  3723.   T_PICINFO name (0=o.k.)
  3724.   T_GETWIDTH
  3725.   T_GETHEIGHT
  3726.   T_GETDEPTH
  3727.   T_GETCOLORS
  3728.   T_GETFRAMES
  3729.   T_GETANIMDRAWER
  3730.   T_GETPICDRAWER
  3731.   T_GETMODDRAWER
  3732.   T_GETROOTDRAWER
  3733.   T_PEXTENSION extension
  3734.   T_REQSTATUS (ON|OFF)
  3735.  Prefs:
  3736.   PR_PLAYERSCREEN name
  3737.   PR_SCREENMODE id width height depth
  3738.   PR_SCREENDEPTH depth
  3739.   PR_LOADPREFS
  3740.   PR_SAVEPREFS
  3741.   PR_OPENPATHS
  3742.   PR_CLOSEPATHS
  3743.   PR_OPENMACROS
  3744.   PR_CLOSEMACROS
  3745.   PR_DCLICKTIME val
  3746.   PR_STATISTICS (ON|OFF)
  3747.   PR_EXPERTMODE (ON|OFF)
  3748.   PR_BRUTALBLIT (ON|OFF)
  3749.   PR_MOVE x y
  3750.  Paths:
  3751.   PT_ANIMATIONDRAWER name
  3752.   PT_PICTUREDRAWER name
  3753.   PT_SOUNDDRAWER name
  3754.   PT_ROOTDRAWER name
  3755.   PT_YAFAPLAYER name
  3756.   PT_ANIMPLAYER name
  3757.   PT_MPEGPLAYER name
  3758.   PT_VIEWER name
  3759.   PT_MOVE x y
  3760.  Info:
  3761.   I_FREEMEM
  3762.   I_MOVE x y
  3763.  Text:
  3764.   TXT_TEXT file
  3765.   TXT_TEXTNC file
  3766.   TXT_MOVE x y
  3767.   TXT_CLOSE
  3768.   TXT_WAIT
  3769.   TXT_CENTRE
  3770.  Player:
  3771.   P_FILE [name]
  3772.   P_BUFFERS num
  3773.   P_ABUFFER num
  3774.   P_DISPLAY (NORMAL|ZOOMED|DITHERED)
  3775.   P_CACHING (ON|OFF)
  3776.   P_OUTPUT (HARDWARE|WINDOW|BGWINDOW|SCREEN)
  3777.   P_24BIT (TRUE|DRGB|DRGB2|GRAY)
  3778.   P_SCREENMODE hexnum
  3779.   P_WAIT (ON|OFF)
  3780.   P_PLAY [from to]
  3781.   P_MOVE x y
  3782.   P_OPENANIMINFO
  3783.   P_CLOSEANIMINFO
  3784.   P_OPENTIMECODES
  3785.   P_CLOSETIMECODES
  3786.  AnimInfo:
  3787.   AI_MOVE x y
  3788.   AI_EXPORT name
  3789.   AI_IMPORT num
  3790.  Timecodes:
  3791.   TC_RANGE from to step
  3792.   TC_IMPORT name
  3793.   TC_EXPORT name
  3794.   TC_TIMERANGE num
  3795.   TC_MOVE x y
  3796.  Editor:
  3797.   E_AADD name
  3798.   E_AKILL
  3799.   E_AREPLACE name
  3800.   E_AINFO
  3801.   E_ASELECT name
  3802.   E_ASELECTNEXT
  3803.   E_ASELECTPREV
  3804.   E_AFROM from
  3805.   E_ATO to
  3806.   E_AUP
  3807.   E_ADOWN
  3808.   E_MADD name (MODULE|SAMPLE|EXECUTABLE)
  3809.   E_MKILL
  3810.   E_MREPLACE name
  3811.   E_MEDIT
  3812.   E_MSELECT name
  3813.   E_MSELECTNEXT
  3814.   E_MSELECTPREV
  3815.   E_MUP
  3816.   E_MDOWN
  3817.   E_OPENPROFILE
  3818.   E_CLOSEPROFILE
  3819.   E_OPENFILMCONTROL
  3820.   E_CLOSEFILMCONTROL
  3821.   E_PLAYALL
  3822.   E_PLAYSEL
  3823.   E_SAVEALL
  3824.   E_FILENAME [name]
  3825.   E_CLEAR
  3826.   E_EXPORT
  3827.   E_LOAD
  3828.   E_SAVE
  3829.   E_INSERT file
  3830.   E_APPEND file
  3831.   E_MOVE x y
  3832.  EditorAnimInfo:
  3833.   EAI_DISPLAY (NORMAL|ZOOMED|DITHERED)
  3834.   EAI_CACHING (ON|OFF)
  3835.   EAI_BUFFERS num
  3836.   EAI_ABUFFER num
  3837.   EAI_SPEED num
  3838.   EAI_MOVE x y
  3839.   EAI_CLOSE
  3840.  ModuleOptions:
  3841.   MO_TEST
  3842.   MO_STOP
  3843.   MO_CLOSE
  3844.   MO_MOVE x y
  3845.  SampleOptions:
  3846.   SO_TEST
  3847.   SO_STOP
  3848.   SO_CHANNEL (LEFT0|RIGHT0|LEFT1|RIGHT1)
  3849.   SO_REPEAT num
  3850.   SO_VOLUME num
  3851.   SO_CLOSE
  3852.   SO_MOVE x y
  3853.  CommandOptions:
  3854.   CO_TEST
  3855.   CO_CLOSE
  3856.   CO_MOVE x y
  3857.  Processor:
  3858.   PC_ADD type [options]
  3859.     SCALE in out width height [(PIXELS|PERCENT) (IGNORE|TAKEWIDTH|TAKEHEIGHT)]
  3860.     CROP in out left top width height
  3861.     AUTOCROP in out
  3862.     ALPHA in alpha out left top
  3863.     COMPOSE left top mix back=(STREAM|TEMPx) fore=(STREAM|TEMPx) dest=(STREAM|TEMPx) (NONE|COLOR|INRANGE|OUTRANGE) [red1 green1 blue1 [red2 green2 blue2]]
  3864.     BALANCING in out red green blue bright contrast gamma
  3865.     DISPLACE in out radius probability seed
  3866.     ROTATE in out centreX centreY radius amount zoom
  3867.     NEGATIVE in out
  3868.     COLORTOGRAY in out (AVERAGE|LUMINANCE|CUSTOM) [red] [green] [blue]
  3869.     SHIFTLINES in out (HORIZONTAL|VERTICAL) shift [(NORMAL|POSITIVE|NEGTIVE) amount probability seed]
  3870.     SAVETEMP buffer
  3871.     LOADTEMP buffer
  3872.     KILLTEMP buffer
  3873.     LOADIMAGE out sequence repeat shift
  3874.     CREATEIMAGE out width height [red0 green0 blue0 ... red3 green3 blue3]
  3875.     PIXELIZE in out width height (ON|OFF) [(XY|X|Y) size red green blue dLeft dRight dTop dBottom]
  3876.     CONVOLVE in out mix shift (file|matrix)
  3877.     TWIRL in out (IN|OUT) centreX centreY radius amount power zoom
  3878.     BUMP in heightMap out left top amount lightX lightY lightZ intensity
  3879.     TEXT out red green blue (NORMAL|OUTLINE|EMBOSS) (LEFT|RIGHT|CENTERED) hSkip font fontSize italic bold underline color textFile [strength [lightX lightY lightZ intensity]]
  3880.     ANTIQUE in out
  3881.     HALVE in out
  3882.     FLIP in out (X|Y|XY)
  3883.     MOTIONBLUR in out deltaX deltaY
  3884.     ROTATEBLUR in out centreX centreY amount radius
  3885.     BLACKHOLE in out centreX centreY amount radius
  3886.     MAGNET in out centreX centreY amount damping
  3887.     WAVE in out centreX centreY (X|Y) frames frame zoom damping (ON|OFF) amplitude wavelength phase shift
  3888.     AREXX in out port tempfile script
  3889.     COMMENT [string]
  3890.     PLASMA out width height dimension seed
  3891.     EMBOSS in out direction
  3892.     REPLACECOMP in1 in2 out (RED|GREEN|BLUE)
  3893.     OILTRANSFER in out rect
  3894.     MEDIANFILTER in out rect
  3895.     ADD in1 in2 out (ADD|SUBTRACT)
  3896.     RASTER in out
  3897.     SWAPRGB in out (RBG|GRB|GBR|BRG|BGR)
  3898.     NOISE in out intensity probability seed
  3899.     POSTERISE in out bits
  3900.     ROLL in out deltaX deltaY (ON|OFF)
  3901.     CARTESIAN2POLAR in out r0 phi0
  3902.     THRESHOLD in out level
  3903.     SHEAR in out originX originY amount (X|Y) zoom damping (ON|OFF)
  3904.     LWOB out file width height renderSettings
  3905.     DLA out width height iterations seed red green blue
  3906.     NEON in out (TRIVIAL|HKC) red green blue radius intensity tolerance
  3907.     SETBACKGROUND red greed blue
  3908.     GSIMPORT out file resolution xGeom yGeom
  3909.     KILLTEMP3D buffer
  3910.     PERSPECTIVE in out renderSettings
  3911.     CUBE in out (ON|OFF) size (ON|OFF) alpha4 alpha5 alpha2 alpha6 alpha1 renderSettings
  3912.     WRAP in out (ON|OFF) (RADIUS|AMOUNT) radius amount (X|Y|XY) renderSettings
  3913.     WATER in out (ON|OFF) frames frame (X|Y|XY) originX originY times rings amplitude wavelength (ON|OFF) damping doXY=(ON|OFF) renderSettings
  3914.     WAVE3D in out (ON|OFF) frames frame (X|Y|XY|RADIAL) originX originY originZ amplitude wavelength phase (ON|OFF) damping renderSettings
  3915.     MAGNET3D in out (ON|OFF) strength srcX srcY srcZ destX destY destZ renderSettings
  3916.     SPHERE in out (ON|OFF) radius renderSettings
  3917.     TRANSFORM3D in out (ON|OFF) scaleX scaleY scaleZ transX transY transZ (XY|YZ|XZ|NONE) alpha beta originX originY originZ renderSettings
  3918.     BUMP3D in out (ON|OFF) map amount (ON|OFF) width height (IGNORE|TAKEWIDTH|TAKEHEIGHT) originX originY (ON|OFF) renderSettings
  3919.     JOIN3D in1 in2 out (ON|OFF) renderSettings
  3920.     TWIST in out (ON|OFF) (X|Y|Z) amount dist originX originY originZ renderSettings
  3921.     TWIRL3D in out (ON|OFF) (X|Y|Z) originX originY originZ amount radius power renderSettings
  3922.     COLORCUBE in out (ON|OFF) mix (COLOR|ALPHA) (CURRENT|ACTUAL) red1 green1 blue1 ... red8 green8 blue8
  3923.     SETCOLOR in out (ON|OFF) red green blue mix renderSettings
  3924.     TRIANGULATE in out (ON|OFF) renderSettings
  3925.     ZPLOT out expr xmin xmax xcount ymin ymax ycount red green blue (ON|OFF) gRed gGreen gBlue width height renderSettings
  3926.     PARPLOT out x y z umin umax ucount vmin vmax vcount red green blue (ON|OFF) gRed gGreen gBlue width height renderSettings
  3927.     DATAPLOT out file xQuant yQuant xScale yScale zScale red green blue (ON|OFF) gRed gGreen gBlue renderSettings
  3928.     MORPH in1 in2 out frame frames renderSettings
  3929.     GENLOCK3D in out (ON|OFF) (SINGLE|INRANGE|OUTRANGE) red green blue renderSettings
  3930.     AXIS3D in out (ON|OFF) xMin xMax xTicks yMin yMax yTicks zMin zMax zTicks red green blue thickness tickSize phong=(ON|OFF) doLabels=(ON|OFF) (FRONTBOTTOM|FRONTTOP|BACKBOTTOM|BACKTOP) (RIGHTBOTTOM|RIGHTTOP|LEFTBOTTOM|LEFTTOP) (FRONTRIGHT|FRONTLEFT|BACKRIGHT|BACKLEFT) fontSize xLabel yLabel zLabel lRed lGreen lBlue renderSettings
  3931.     renderSettings=camX camY camZ (XY|YZ|XZ|NONE) alpha beta
  3932.                    centreX centreY zoom (NORMAL|PHONG|OFF)
  3933.                    lightX0 lightY0 lightZ0 lightX1 lightY1 lightZ1
  3934.                    lightX2 lightY2 lightZ2 lightX3 lightY3 lightZ3
  3935.                    lightRed0 lightGreen0 lightBlue0 lightRed1 lightGreen1 lightBlue1
  3936.                    lightRed2 lightGreen2 lightBlue2 lightRed3 lightGreen3 lightBlue3
  3937.                    ambient diffuse phong phongSize phongAngle (NORMAL|DOUBLE) quant3D
  3938.   PC_KILL
  3939.   PC_CLEAR
  3940.   PC_SELECT type [which]
  3941.   PC_UP
  3942.   PC_DOWN
  3943.   PC_FROM num
  3944.   PC_TO num
  3945.   PC_STEP num
  3946.   PC_OPENEDIT
  3947.   PC_MOVEEDIT x y
  3948.   PC_CLOSEEDIT
  3949.   PC_MODE (COLOR|HAM6|HAM8)
  3950.   PC_DITHER (NONE|FS)
  3951.   PC_SMOOTHING (OFF|LOW|MEDIUM|HIGH)
  3952.   PC_DEPTH num
  3953.   PC_CSKIP num
  3954.   PC_FILENAME [name]
  3955.   PC_LOAD
  3956.   PC_SAVE
  3957.   PC_OPENPCSINGLEPICTURE
  3958.   PC_CLOSEPCSINGLEPICTURE
  3959.   PC_OPENVARIABLES
  3960.   PC_CLOSEVARIABLES
  3961.   PC_OPENPALETTE
  3962.   PC_CLOSEPALETTE
  3963.   PC_MOVE
  3964.  Variables:
  3965.   V_ADD name
  3966.   V_SELECT name
  3967.   V_KILL
  3968.   V_RENAME
  3969.   V_SELECT name
  3970.   V_ENVELOPE
  3971.   V_FILENAME
  3972.   V_SAVE
  3973.   V_LOAD
  3974.   V_CLEAR
  3975.   V_MOVE
  3976.  Envelope:
  3977.   EV_XRANGE xmin xmax
  3978.   EV_YRANGE ymin ymax
  3979.   EV_VIEWALL
  3980.   EV_SCROLLUP
  3981.   EV_SCROLLDOWN
  3982.   EV_SCROLLLEFT
  3983.   EV_SCROLLRIGHT
  3984.   EV_SELECT num
  3985.   EV_SELECTNEXT
  3986.   EV_SELECTPREV
  3987.   EV_KILL
  3988.   EV_ADD xval yval
  3989.   EV_MOVE xval yval
  3990.   EV_DRAG xval yval steps
  3991.   EV_LOAD name
  3992.   EV_SAVE name
  3993.   EV_INTERPOLATION (SPLINE|BEZIER|LINEAR)
  3994.   EV_USE
  3995.   EV_CANCEL
  3996.   EV_OPENADVANCED
  3997.   EV_MOVE
  3998.  SinglePicture:
  3999.   PCS_INPUT name
  4000.   PCS_OUTPUT name
  4001.   PCS_TEST [time]
  4002.   PCS_SAVE
  4003.   PCS_SAVERENDERED
  4004.   PCS_APPLYDIMENSIONS
  4005.   PCS_FRAME num
  4006.   PCS_MOVE
  4007.   PCS_SCREENMODE id
  4008.   PCS_PREVIEWWIDTH val
  4009.   PCS_PREVIEWDEPTH val
  4010.   PCS_PREVIEW (ENABLED|DISABLED)
  4011.  EnvelopeAdvanced:
  4012.   EVA_RANGE from to step
  4013.   EVA_SCALE
  4014.   EVA_SHIFT
  4015.   EVA_LOADCURVE name
  4016.   EVA_SAVECURVE name
  4017.   EVA_LOADTIMECODES
  4018.   EVA_SAVETIMECODES
  4019.   EVA_XVAL val
  4020.   EVA_YVAL val
  4021.   EVA_CLOSE
  4022.   EVA_MOVE
  4023.  Converter:
  4024.   C_INPUTTYPE (ANIMATION|YAFAANIM|BLACKFRAMES)
  4025.   C_INPUTEXPORT
  4026.   C_INPUTFILENAME name
  4027.   C_OUTPUTTYPE (PICTURES|YAFAANIM|IFFANIM|NONE)
  4028.   C_OUTPUTEXPORT
  4029.   C_OUTPUTFILENAME name
  4030.   C_ANNOTATION (ON|OFF)
  4031.   C_ANNOFILENAME [name]
  4032.   C_ANNOSTRING [string]
  4033.   C_LOADSESSION
  4034.   C_SAVESESSION
  4035.   C_CONVERT
  4036.   C_CONVERTPICS first last
  4037.   C_OPENINPUTOPTIONS
  4038.   C_OPENOUTPUTOPTIONS
  4039.   C_CLOSEINPUTOPTIONS
  4040.   C_CLOSEOUTPUTOPTIONS
  4041.   C_PREVIEW (NONE|WINDOW|SCREEN)
  4042.   C_PROCESSOR (ENABLED|DISABLED)
  4043.   C_MOVE
  4044.  YAFAOptions:
  4045.   YO_IMAGEDATA (RAW|CHUNKY)
  4046.   YO_DELTA (NONE|BYTE|WORD|LONG|BYTEBR|WORDBR|LONGBR)
  4047.   YO_COMPRESSION (NONE|XPK)
  4048.   YO_COMPRESSOR name
  4049.   YO_MODE mode
  4050.   YO_COLORMAP (UNLOCKED|LOCKED)
  4051.   YO_SPEED num
  4052.   YO_FORCETIMECODES (ON|OFF)
  4053.   YO_OPENANALYSIS
  4054.   YO_MOVE
  4055.   YO_APPLY name
  4056.  Analysis:
  4057.   A_FRAMES num
  4058.   A_TEST
  4059.   A_USE
  4060.   A_CANCEL
  4061.   A_MOVE
  4062.  ANIMOptions:
  4063.   AO_TYPE (ANIM5|ANIM7S|ANIM7L)
  4064.   AO_COLORMAP (UNLOCKED|LOCKED)
  4065.   AO_SCREENMODE mode
  4066.   AO_MOVE
  4067.  PictureOptions:
  4068.   PO_BASENAME name
  4069.   PO_SCREENMODE mode
  4070.   PO_SHIFT num
  4071.   PO_MOVE
  4072.   PO_TYPE (RENDERED|TRUECOLOR)
  4073.  CreateFrames:
  4074.   CF_WIDTH num
  4075.   CF_HEIGHT num
  4076.   CF_FRAMES num
  4077.  PictureList:
  4078.   PL_INSERT names
  4079.   PL_APPEND names
  4080.   PL_INSERTDIR name
  4081.   PL_APPENDDIR name
  4082.   PL_DUPLICATE times
  4083.   PL_SORT
  4084.   PL_CHECK
  4085.   PL_RANGE from to step
  4086.   PL_REMOVERANGE
  4087.   PL_TIMERANGE num
  4088.   PL_SHOW
  4089.   PL_SELECT name [which]
  4090.   PL_SELECTNEXT
  4091.   PL_SELECTPREV
  4092.   PL_OPENPICTUREINFO
  4093.   PL_CLOSEPICTUREINFO
  4094.   PL_MOVE
  4095.  Custom-Windows:
  4096.   CW_CLOSE name
  4097.   CW_OPEN name
  4098.   CW_MOVE name x y
  4099.   CW_ADD name width height
  4100.   CW_KILL name
  4101.   CW_ADDGADGET window (STRING|BUTTON|SWITCH) left top width name [action]
  4102.   CW_GETGADGET window name
  4103.   CW_SETGADGET window name value
  4104.   CW_WAITGADGET window name
  4105.   CW_ADDTEXT window left top pen text
  4106.   CW_ADDLINE window x1 y1 x2 y2 pen
  4107.   CW_ADDRECT window left top width height pen (NORMAL|FILLED|BBOX|BBOX2)
  4108.   CW_DRAWTEXT window left top pen text
  4109.   CW_DRAWLINE window x1 y1 x2 y2 pen
  4110.   CW_DRAWRECT window left top width height pen (NORMAL|FILLED|BBOX|BBOX2)
  4111.   CW_SAVE name
  4112.   CW_LOAD name
  4113.   CW_WAIT name
  4114.   CW_ISOPEN name
  4115.  Palette:
  4116.   PP_FILENAME
  4117.   PP_LOAD
  4118.   PP_SAVE
  4119.   PP_COLOR color red green blue
  4120.   PP_STATE (ENABLED|DISABLED)
  4121.   PP_MOVE x y
  4122.  FilmStrip:
  4123.   FC_PLAY file loops rows cols [left top]
  4124.   FC_FILE file
  4125.   FC_FILMFILE file
  4126.   FC_RANGE from to step
  4127.   FC_WIDTH width
  4128.   FC_SIZE rows cols
  4129.   FC_COLOR (ORIGINAL|GRAY)
  4130.   FC_UPDATE
  4131.   FC_CLEANUP
  4132.   FC_LOAD
  4133.   FC_SAVE
  4134.   FC_CONVERT
  4135.   FC_APPEND
  4136.   FC_SCROLL val (negative->scroll left)
  4137.  CRange:
  4138.   CR_FROM num
  4139.   CR_TO num
  4140.   CR_STEP num
  4141.   CR_STATE (ENABLED|DISABLED)
  4142.  IMOptions:
  4143.   IM_FILE file
  4144.   IM_TRASHCAN (KILLICON|DELETE)
  4145.  Icon-Saver:
  4146.   IC_Image1 file
  4147.   IC_Image2 [file]
  4148.   IC_ICON file
  4149.   IC_WIDTH width
  4150.   IC_DEPTH depth
  4151.   IC_COLOR (COLOR|GRAY)
  4152.   IC_CONVERT
  4153.  TMaker:
  4154.   TM_INPUT1 file
  4155.   TM_INPUT2 file
  4156.   TM_OUTPUT file
  4157.   TM_TEMP drawer
  4158.   TM_FRAMES frames
  4159.   TM_PREVIEW (NONE|WINDOW|SCREEN)
  4160.   TM_SHOWEXAMPLE (ON|OFF)
  4161.   TM_TYPE type subtype
  4162.   TM_CREATETEMPFILES
  4163.   TM_KILLTEMPFILES
  4164.   TM_PLAY
  4165.   TM_CONVERT
  4166.   TM_CREATEEXAMPLES
  4167. @endnode
  4168. @node PowerPlugs!
  4169. @{b}PowerPlugs! - it's not a dream @{ub}
  4170. @{u}Introduction@{uu}                              @{" Example1 " system "visage wf:PowerPlugs!_01.jpg"}
  4171. PowerPlugs! are a extended version of Wildfire's 3D-operators
  4172. allowing the superposition of effects in the threedimensional space.
  4173. For example after wrapping an image onto a cube a radial-wave
  4174. could be applied to the cube.
  4175. Since version 3.14 you can combine phong-shaded Lightwave3D-objects
  4176. with your images. All 3D-effects can be applied to these objects, too.
  4177. This makes it for example possible to create a threedimensional
  4178. twirled cow in a few seconds.
  4179. This are of course incredible mega-features many 3D-programs
  4180. are missing.
  4181. But many users may have no need for it because they have slow
  4182. machines with only some memory or don't need any 3d-effect.
  4183. So you have to register for the PowerPlugs!-package separately.
  4184. The price is 50,00 DM or 40,00 US-$. I think this is quite fair
  4185. for such unique features and makes it possible to keep the low price
  4186. of the base-package.
  4187. After registering you will receive an extended version of the
  4188. "wildfire.library" which enables the handling of so-called
  4189. "3D-temp-buffers".
  4190. If you have installed the normal version of the library (registered
  4191. or not) all 3D-operators are restricted to operate on image-
  4192. buffers (STREAM and TEMP1, ..., TEMP8).
  4193. After installing the extended PowerPlugs!-library four
  4194. additional buffers can be used: TEMP3D1, ... TEMP3D4.
  4195. @{u}Usage@{uu}                                     @{" Example2 " system "visage wf:PowerPlugs!_02.jpg"} @{ub}
  4196. The usage is quiet simple. If you specify a 3d-temp-buffer
  4197. instead of an image the transformation is applied to
  4198. a virtual object and not to an image. This means that
  4199. all "final" transformation operations like rotating, scaling
  4200. or adding light are not performed. 3d-temp-buffers
  4201. can be specified both as input and output.
  4202. Example: You want to linearcombine two simple waves.
  4203.           Add a Wave3D-effect and set the originX-value to 60.
  4204.           Set the output-buffer to TEMP3D1.
  4205.           Add a second Wave3D-effect and sets it's originX-value to 260.
  4206.           Set the input-buffer to TEMP3D1.
  4207.          So what happens ? The image is read and deformed by the first
  4208.          Wave3D-operator but not rotated, scaled or rendered.
  4209.          The result is read in by the second Wave3D-operator, deformed,
  4210.          rotated and rendered.
  4211. @{u}Operators@{uu}                                 @{" Example3 " system "visage wf:PowerPlugs!_03.jpg"} @{ub}
  4212. The following operators support the PowerPlugs!-concept and
  4213. can therefore combined in any manner:
  4214.    @{" Axis3D          " link opAxis3D         } Add axes in very high quality to plots     @{" Example " system "visage wf:doc/pictures/Axis3D.pic"}
  4215.    @{" Bump3D          " link opBump3D         } Real Bump-mapping                          @{" Example " system "visage wf:doc/pictures/Bump3D.pic"}
  4216.    @{" ColorCube       " link opColorCube      } 3D color- or alpha-space                   @{" Example " system "visage wf:doc/pictures/ColorCube.pic"}
  4217.    @{" Cube            " link opCube           } Wrap an image onto a cube                  @{" Example " system "visage wf:doc/pictures/Cube.pic"}
  4218.    @{" DataPlot        " link opDataPlot       } Plot threedimensional data-sets            @{" Example " system "visage wf:doc/pictures/DataPlot.pic"}
  4219.    @{" Genlock3D       " link opGenlock3D      } Threedimensional genlock                   @{" Example " system "visage wf:doc/pictures/Genlock3D.pic"}
  4220.    @{" Join3D          " link opJoin3D         } Join two 3D-temp-buffers                   @{" Example " system "visage wf:doc/pictures/Join3D.pic"}
  4221.    @{" LWOB            " link opLWOB           } Import Lightwave-objects                   @{" Example " system "visage wf:doc/pictures/LWOB.pic"}
  4222.    @{" Magnet3D        " link opMagnet3D       } Grab and drag portions of an image         @{" Example " system "visage wf:doc/pictures/Magnet3D.pic"}
  4223.    @{" Morph           " link opMorph          } Interpolate between two objects            @{" Example " system "visage wf:doc/pictures/Morph.pic"}
  4224.    @{" ParPlot         " link opParPlot        } Plot threedimensional parametric functions @{" Example " system "visage wf:doc/pictures/ParPlot.pic"}
  4225.    @{" Perspective     " link opPerspective    } Add perspective to an image                @{" Example " system "visage wf:doc/pictures/Perspective.pic"}
  4226.    @{" SetColor        " link opSetColor       } Modify the color of objects                @{" Example " system "visage wf:doc/pictures/SetColor.pic"}
  4227.    @{" Sphere          " link opSphere         } Wrap an image onto a complete sphere       @{" Example " system "visage wf:doc/pictures/Sphere.pic"}
  4228.    @{" Transform3D     " link opTransform3D    } Perform standard 3d-transformations        @{" Example " system "visage wf:doc/pictures/Transform3D.pic"}
  4229.    @{" Triangulate     " link opTriangulate    } Convert images into smooth phong-object    @{" Example " system "visage wf:doc/pictures/Triangulate.pic"}
  4230.    @{" Twirl3D         " link opTwirl3D        } Apply a Twirl-effect along any axis        @{" Example " system "visage wf:doc/pictures/Twirl3D.pic"}
  4231.    @{" Twist           " link opTwist          } Deform an image using rotation             @{" Example " system "visage wf:doc/pictures/Twist.pic"}
  4232.    @{" Water           " link opWater          } Apply an anharmonic water-wave to an image @{" Example " system "visage wf:doc/pictures/Water.pic"}
  4233.    @{" Wave3D          " link opWave3D         } Apply a harmonic wave to an image          @{" Example " system "visage wf:doc/pictures/Wave3D.pic"}
  4234.    @{" Wrap            " link opWrap           } Wrap the image on a sphere or a tube       @{" Example " system "visage wf:doc/pictures/Wrap.pic"}
  4235.    @{" ZPlot           " link opZPlot          } Plot threedimensional functions            @{" Example " system "visage wf:doc/pictures/ZPlot.pic"}
  4236. Looking at the example-pictures
  4237. @{" Example1 again " system "visage wf:PowerPlugs!_01.jpg"}
  4238. @{" Example2 again " system "visage wf:PowerPlugs!_02.jpg"}
  4239. @{" Example3 again " system "visage wf:PowerPlugs!_03.jpg"}
  4240. keep in mind that all parameters may be animated easily
  4241. and any number of these operators can be combinated in any manner.
  4242. All scripts which where used to create these example-pictures
  4243. can be found in the "wf:doc/PlugIns"-drawer.
  4244. @{" I'm impressed ! " system "visage wf:Motivation2.jpg"}
  4245. @endnode
  4246. @remark /*************************************************************/
  4247. @remark /*
  4248. @remark                            Tutorials
  4249. @remark */
  4250. @remark /*************************************************************/
  4251. @node Tutorials
  4252. ###############################################################################
  4253. #                                                                             #
  4254. #                       Sequencer-Tutorial  1                                 #
  4255. #                                                                             #
  4256. ###############################################################################
  4257.                   @{" 1. Introduction                        " LINK Tut1-Intro}
  4258.                   @{" 2. Hardware-Requirements               " LINK Tut1-Req}
  4259.                   @{" 3. Tutorial 1                          " LINK Tut1}
  4260. @ENDNODE
  4261. @NODE Tut1-Intro "1. Introduction"
  4262. Welcome to the Sequencer Tutorial!
  4263. This workshop will show you the fantastic possibilities of the Image
  4264. Processor! You won`t trust your eyes when you see what you can do with this
  4265. great program.
  4266. As we are using the great BUILD-FROM-BLOCKS-concept you can change the
  4267. project in an easy way to fit your personal needs.
  4268. First inform yourself about the @{" Hardware Requirements " LINK Tut1-Req}!
  4269. @ENDNODE
  4270. @NODE Tut1-Req "2. Hardware Requirements"
  4271. While installation you can choose between two different versions of this
  4272. tutorial, depending on the hardware you use!
  4273. "HALVE_SIZE" is aimed on users with something like the following
  4274. configuration:
  4275.   CPU: MC68020/MC68030
  4276.   RAM: 4 MB Fast, 2 MB Chip
  4277.   HD: 120 MB
  4278.   about 10 MB free Harddisk-space!
  4279. The "HALVE_SIZE" tutorial even runs on STANDARD A1200 with only 2MB Chip
  4280. Ram and no Fast Ram!
  4281. The "NORMAL_SIZE" version of this tutorial can be used by the ones with
  4282. more extended hardware like:
  4283.   CPU: MC68040/MC68060
  4284.   RAM: 8 MB Fast, 2 MB Chip
  4285.   HD: 1 GB 
  4286.   about 25 MB free Harddisk-space!
  4287. Of course you don`t have to follow this rules, you may use the
  4288. "NORMAL_SIZE" on an slow A1200 with 4MB Fast, too.
  4289.  Now lets start with the @{" Tutorial " LINK Tut1}.
  4290. @ENDNODE
  4291. @NODE Tut1 "3. Tutorial"
  4292.                   @{" 0. Story                    " LINK Tut1-Story}
  4293.                   @{"  1. Preface                 " LINK Tut1-Teil0}
  4294.                   @{"  2. Part 1                  " LINK Tut1-Teil1}
  4295.                   @{"  3. Part 2                  " LINK Tut1-Teil2}
  4296.                   @{"  4. Part 3                  " LINK Tut1-Teil3}
  4297.                   @{"  5. Part 4                  " LINK Tut1-Teil4}
  4298.                   @{"  6. Part 5                  " LINK Tut1-Teil5}
  4299.                   @{"  7. Part 6                  " LINK Tut1-Teil6}
  4300.                   @{"  8. Part 7                  " LINK Tut1-Teil7}
  4301.                   @{"  9. Part 8                  " LINK Tut1-Teil8}
  4302.                   @{" 10. Part 9                  " LINK Tut1-Teil9}
  4303.                   @{" 11. Script                  " LINK Tut1-Script}
  4304. @ENDNODE
  4305. @NODE Tut1-Story "Story"
  4306. Starting with 2 x 60 24Bit-Pictures "CHA" and "CHB" we want to create some
  4307. animations using fading and special effects.
  4308.  Story:
  4309.   -"CHA" will be wiped into the picture
  4310.   -"CHA" will be played quite normal
  4311.   -"CHA" will be roteted (360
  4312.   -"CHA" will be twirled
  4313.   -"CHB" flies into the picture in a smalle size
  4314.   -"CHB" will be scaled to full size
  4315.   -"CHA" will be fadet out and a little bit displaced
  4316.   -"CHB" will be played quite normal
  4317.   -"CHB" will be fadet out
  4318. All session- and process files are stored in the same called directorys.
  4319. To generate the needed animations you have just to:
  4320. (f.i. animation "chab_wipe.yafa)
  4321.  - use the graphical user interface:
  4322.    *converter: load the session file "chab_wipe.session"
  4323.    *converter: press the "Convert" gadget (or just press <Return>)
  4324.     (the needed process file "chab_wipe.process" will be loaded by the
  4325.      sesssion file without user interaction.)
  4326. But we want to learn how the processor works. That`s why you should make
  4327. the animations yourself, following this tutorial! If you managed that you
  4328. will know how to work with WIldfire and it will be eas for you to produce
  4329. effects yourself!
  4330.  So first read the @{" Preface " LINK Tut1-Teil0}!
  4331. @ENDNODE
  4332. @NODE Tut1-Teil0 "Preface"
  4333. If you work with the small version (HALVE_SIZE) then you can follow the
  4334. steps written in the tutorial exactly. But if you want to use the full size
  4335. (NORMAL_SIZE) version, you have to change the path names from
  4336. wftut:halve_size/ ind wftut:normal_size/. Further on you have to use the
  4337. sizes and coordinates written in [].
  4338. Your actions are written in {} brackets.
  4339. Both animations we are dealing with consits of 60 frames each. So the
  4340. timedependent coordinates end with 60 for the last frame.
  4341. First of all start Wildfire.
  4342. {wf <enter>}
  4343. Afterwards open the preferences window.
  4344. {PREFERENCES}
  4345. Change to the paths-selector.
  4346. {PATHS}
  4347. Use the following paths:
  4348. {ANIMATIONS  wftut:halve_size/results/}
  4349. {PICTURES    wftut:halve_size/frames/}
  4350. {YAFA-PLAYER wf:YP}
  4351. Save the preferences.
  4352. {CLOSE Filenames/Drawers}
  4353. {SAVE Prefs}
  4354. {CLOSE Prefs}
  4355. Now all needed selections are made, so lets come to @{" Part 1 " LINK Tut1-Teil1}.
  4356. @ENDNODE
  4357. @NODE Tut1-Teil1 "Part 1"
  4358. cha_wipe.yafa
  4359. Open the converter window.
  4360. {CONVERTER}
  4361. If you want to do it the easy way just load the session file!
  4362. {LOAD Session cha_wipe.session}
  4363. All settings are made automaticly, you jut need to start converting.
  4364. {CONVERT}
  4365. You can do this for all 9 animations but ...
  4366. We want to get to know how the program works, so ...
  4367. we will NOT use this files but do everything ourselves!
  4368. Select Single Pictures as Input Type.
  4369. {INPUT TYPE Pictures}
  4370. Select YAFA Animation as Output Type.
  4371. {OUTPUT TYPE YAFA Animation}
  4372. Select the following YAFA Options:
  4373. {RELATED OPTIONS}
  4374. {IMAGE-DATA RAW}
  4375. {COLORMAP UNLOCKED}
  4376. {FORCE TIMECODES OFF}
  4377. {SPEED 2} [3]
  4378. {POST-COMPRESSION XPK}
  4379. {Compressor FAST}
  4380. {DELTA-COMPRESSION ByteBR}
  4381. {Uncompressed Frames 1}
  4382. {UC-Mode Delta}
  4383. Close the YAFA-Options.
  4384. {CLOSE YAFA-Options}
  4385. Select
  4386. {PREVIEW Screen}  and
  4387. {PROCESSOR Enabled}
  4388. {INPUT RELATED OPTIONS}
  4389. Add the directory with the 60 pictures for the CHA anim:
  4390. {ADDDIR wftut:halve_size/frames/chA}
  4391. {CLOSE Related Options}
  4392. Choose the name for the animation:
  4393. {OUTPUT Browse}
  4394. {wftut:halve_size/results/cha_wipe.yafa}
  4395. Open the
  4396. {PROCESSOR}
  4397. First of all we want the Animation CHA to fly from the left side into the
  4398. screen. Furthermore we want to fade this animation.
  4399. So we create a black screen as background.
  4400. {ADD CREATEIMAGE}
  4401. Now we edit create-image.
  4402. {DOUBLECLICK CreateImage} (in the list) or {EDIT}
  4403. Now we make the following selections:
  4404. {WIDTH 176}  [352]   ... width of the Animation
  4405. {HEIGHT 144} [288]   ... height of the Animation
  4406. {OUTPUT Temp1}       ... buffer for the black picture
  4407. Now we select for all 4 colors the rgb-values 0. The color-gadgets will be
  4408. displayed in their right colors if you work on an 256 color-screen.
  4409. Otherwise you will NOT see their right colors. Just look at the values,
  4410. they have to be 0,0,0.
  4411. ************************************************************
  4412. Note:
  4413. To get the needed coordinates in a very easy way just do the following
  4414. things:
  4415. f.i. add CreateImage effect. Select the effect. (like described some lines
  4416. {OPEN Single-Picture-Process}
  4417. {INPUT wftut:halve_size/frames/cha/pic.0001}
  4418. {APPLY DIMENSIONS}
  4419. Using Apply Dimensions the sizes of the picture will be used for the
  4420. effect. Thats for instance the size for the CreateImage effect and the
  4421. centre coordinates for the twirl and rotate effect.
  4422. ************************************************************
  4423. {CLOSE CreateImage-Options}
  4424. Now we create some variables.
  4425. {VARIABLES}
  4426. {ADD left}
  4427. {ADD mix}
  4428. {DOUBLECLICK left}
  4429. We are looking at the envelopes-window.
  4430. Let`s add two points:
  4431. {ADD PNT  Klick into the window}
  4432. {ADD PNT  Klick into the window}
  4433. The change the position of the first poin we select it:
  4434. {KLICK on the 1. point}
  4435. {X = 0}                  (just write it into the correspondending gadget)
  4436. {Y = -160.00}
  4437. Select the second point.
  4438. {KLICK on the 2. point}
  4439. {X = 5}
  4440. {Y = 0}
  4441. Select the 3. point.
  4442. {KLICK on the 3. point}
  4443. {X = 60}
  4444. {Y = 0}
  4445. Choose bezier as interpolation method.
  4446. {INTERPOLATION bezier}
  4447. For the following variables you follow these steps exactly. I use a short
  4448. form of writing the down. Have a look at these examples for the variables
  4449. you created a minute ago.
  4450. Variable:      left
  4451. Points:         3
  4452. Nr. 1:          0, -160
  4453. Nr. 2:          5,    0
  4454. Nr. 3:         60,    0
  4455. Interpolation: bezier
  4456. Lets come to the second variable.
  4457. 2. Variable:
  4458. Variable:      mix
  4459. Points:         3
  4460. Nr. 1:          0,    0
  4461. Nr. 2:         20,  100
  4462. Nr. 3:         60,  100
  4463. Interpolation: bezier
  4464. {CLOSE Envelope}
  4465. {CLOSE Variables}
  4466. Now we add a compose effect:
  4467. {ADD COMPOSE}
  4468. {EDIT compose}
  4469. {BACKGROUND Temp1}   ... generated picture in Temp1
  4470. {FOREGROUND Stream}  ... Animation in Stream
  4471. {DESTINATION Stream} ... destination -> Animation
  4472. {ALPHA none}         ... Alpha Channel
  4473. {GENLOCK none}
  4474. {LEFT left}  ... Using the gadget VAR you choose our created variable left
  4475.                  as the value for the LEFT position of the animation.
  4476.                  Within our 60 frames the front animation will move from
  4477.                  the left side (-160) into the screen (0).
  4478. {TOP 0}      ... The animation will stay on the same heigth all the time.
  4479. {MIX mix}    ... Within the 60 frames we change the value of mix from 0
  4480.                  to 100. Mix 100 means you will only see the pictures
  4481.                  in front of the background pictures - and these are the
  4482.                  frames of the animation!
  4483. {CENTREX off}... pics will NOT be centred
  4484. {CENTREY off}... pics will NOT be centred
  4485. {MODE Color}
  4486. {DITHERING Floyd}
  4487. {DEPTH 5}
  4488. Now we made all settings, so press the CONVERT gadget in the converter
  4489. window!
  4490. {CONVERT}
  4491. Depending on the speed of your computer you may drink a cup of coffee or
  4492. just look how the animation is created.
  4493. The 60 24-Bit pictures will be wiped, fadet, ditherd and saved in 5-Bit.
  4494. From the @{" Part 2 " LINK Tut1-Teil2} I will tell you only the important things
  4495. as you should know by know how the whole thing is working!
  4496. @ENDNODE
  4497. @NODE Tut1-Teil2 "Part 2"
  4498. cha.yafa
  4499. Now we create an animation without effects. So first remove all the effects
  4500. form the processor-list.
  4501. {PROCESSOR CLEAR}
  4502. The following settings stay unchanged for the whole tutorial!
  4503. {MODE Color}
  4504. {DITHERING Floyd}
  4505. {DEPTH 5}
  4506. The input single-pictures stay the same as in part 1!
  4507. Do not forget to change the output name into:
  4508. {wftut:halve_size/results/cha.yafa}
  4509. So lets start the converting!
  4510. {CONVERT}
  4511. @{" Part 3 " LINK Tut1-Teil3}
  4512. @ENDNODE
  4513. @NODE Tut1-Teil3 "Part 3"
  4514. cha_rotate.yafa
  4515. Now the CHA Animation will be rotated.
  4516. Output-Name:
  4517. {wftut:halve_size/results/cha_rotate.yafa}
  4518. Variable:      rotate
  4519. Points:         2
  4520. Nr. 1:          0,    0   ... Start 0
  4521. Nr. 2:         60,  360   ... end 360
  4522. Interpolation: linear
  4523. Let`s add a rotate effect in the processor:
  4524. {ADD ROTATE}
  4525. Make the following selections:
  4526. {INPUT Stream}       ... Input pictures
  4527. {OUTPUT Stream}      ... Output animation
  4528. {CENTREx 88}  [176]  ... Centre of the picture. To get the centre use a
  4529.                          calculator or:
  4530.                          {SINGLE Picture}
  4531.                          {BROWSE picture for the 60 CHA-picture}
  4532.                          {APPLY DIMENSIONS}
  4533.                          and so you get the centre-settings in the easy
  4534.                          way!
  4535. {CENTREY 72}  [144]
  4536. {RADIUS 120}  [220]  ... Radius for rotating
  4537. {AMOUNT rotate}      ... amount in degrees
  4538. {ZOOM 1}             ... zoom amount
  4539. After this we can start the converting!
  4540. Now come to @{" Part 4 " LINK Tut1-Teil4}...
  4541. @ENDNODE
  4542. @NODE Tut1-Teil4 "Part 4"
  4543. cha_twirl.yafa
  4544. Lets use the cool twirl effect.
  4545. (do not forget the output name!)
  4546. {wftut:halve_size/results/cha_twirl.yafa}
  4547. Variable:      rotate
  4548. Points:         5
  4549. Nr. 1:          0,    0   ... Start 0
  4550. Nr. 2:         20,  100 
  4551. Nr. 2:         30,  210
  4552. Nr. 2:         40,  100
  4553. Nr. 2:         60,    0   ... End 0
  4554. Interpolation: spline
  4555. We add the twirl effect in the processor:
  4556. {ADD TWIRL}
  4557. We choose the following settings:
  4558. {INPUT Stream}       ... Input Pictures
  4559. {OUTPUT Stream}      ... Output animation
  4560. {FALLOFF out}        ... Direction of more power
  4561. {CENTREX 88}  [176]  ... centre of the pictures
  4562. {CENTREY 72}  [144]
  4563. {RADIUS 150}  [220]  ... twirl-radius
  4564. {AMOUNT rotate}      ... degrees
  4565. {POWER 1}            ... Power stays the same
  4566. {ZOOM 1}             ... zoom-amount
  4567. The twirl effect is very time-consuming. Start the converting and if you
  4568. have a slow amiga just drink a can of coffee :-)
  4569. After this interesting effect we go on with @{" Part 5 " LINK Tut1-Teil5}.
  4570. @ENDNODE
  4571. @NODE Tut1-Teil5 "Teil5"
  4572. chab_wipe.yafa
  4573. Now, for the first time, we will see two animations on the screen. CHA will
  4574. be played in the background and CHB will be moved from the top left corner
  4575. to the middle of the screen and zoomed to halve of their size.
  4576. {wftut:halve_size/results/chab_wipe.yafa}
  4577. Variable:      breite
  4578. Points:         2
  4579. Nr. 1:          0,    0        ... start-width 0
  4580. Nr. 2:         60,   88  [176] ... end-width 88 (176/2)
  4581. Interpolation: linear
  4582. Variable:      hoehe
  4583. Points:         2
  4584. Nr. 1:          0,    0        ... start-height 0
  4585. Nr. 2:         60,   72  [144] ... end-height 72 (144/2)
  4586. Interpolation: linear
  4587. Variable:      left
  4588. Points:         2
  4589. Nr. 1:          0,    0       ... start left
  4590. Nr. 2:         60,   44  [88] ... end in the middle (coordinate of the 
  4591.                                   left side of the animation)
  4592. Interpolation: linear
  4593. Variable:      top
  4594. Points:         2
  4595. Nr. 1:          0,    0       ... start at the top
  4596. Nr. 2:         60,   36  [72] ... end in the middle
  4597. Interpolation: linear
  4598. Now we add the following effects
  4599. {ADD LOADIMAGE}
  4600. {ADD SCALE}
  4601. {ADD COMPOSE}
  4602. We make the following selections:
  4603. Loadimage:
  4604. {SEQUENCE wftut:halve_size/frames/chB/pic}
  4605. {OUTPUT Temp1}
  4606. {REPEAT AT 60}
  4607. This command loads the file called 'pic.xxxx' with xxxx as the picture of
  4608. the animation which is generated. So if the processor generates the first
  4609. picture of the anim LOADIMAGE will load pic.0001. For pic 60 of the anim
  4610. pic.0060 will be loaded.
  4611. With repeat you choose which is the last picture. Afterwards LOADIMAGE will
  4612. restart the index with 1.
  4613. We use the buffer Temp1 for loading. With the 8 Buffers and the Strem we
  4614. can combine 9 animations in an very easy way!
  4615. Scale:
  4616. {INPUT Temp1}   ... input picture
  4617. {OUTPUT Temp1}  ... Output picture
  4618. {WIDTH breite}  ... width of the picture
  4619. {HEIGHT hoehe}  ... height of the picture
  4620. {TYPE pixels}   ... Values in Pixel
  4621. {ASPECT ignore} ... Aspect will be ignored
  4622. The temp-picture from the CHB anim will be scaled to the size we set in the
  4623. variables "breite" and "hoehe".
  4624. Compose:
  4625. {BACKGROUND Stream}  ... backgrund pictures from animation CHA
  4626. {FOREGROUND Temp1}   ... foregrund pictures from animation CHB
  4627. {DESTINATION Stream} ... output to the Stream
  4628. {ALPHA none}         ... Alpha chanal
  4629. {LEFT left}          ... left Position
  4630. {TOP top}            ... top oben
  4631. {MIX 100}            ... Mix = 100 ... you see only the anim in front!
  4632. The background of the animation CHB is black. We want the background of the
  4633. CHB anim to be masked out, so we see the anim CHA in the background.
  4634. {CENTREX off}        ... pics will NOT be centred
  4635. {CENTREY off}        ... pics will NOT be centred
  4636. {GENLOCK SingleColor}  ... you can see through one color
  4637. {ALL RGB-VALUES  0}    ... we choose the black color!
  4638. Ready, steady, convert!
  4639. Let`s move to @{" Part 6 " LINK Tut1-Teil6}.
  4640. @ENDNODE
  4641. @NODE Tut1-Teil6 "Part 6"
  4642. chab_scale.yafa
  4643. This animation part is almost like the chab_wipe.yafa anim! Only the size
  4644. and position of the chb pictures differ!
  4645. {wftut:halve_size/results/chab_scale.yafa}
  4646. Variable:      breite
  4647. Points:         2
  4648. Nr. 1:          0,   88  [176] ... halve size at the start
  4649. Nr. 2:         60,  176  [352] ... full size at the end!
  4650. Interpolation: linear
  4651. Variable:      hoehe
  4652. Points:         2
  4653. Nr. 1:          0,   72  [144] ... halve size at the start
  4654. Nr. 2:         60,  144  [288] ... full size at the end!
  4655. Interpolation: linear
  4656. Variable:      left
  4657. Points:         2
  4658. Nr. 1:          0,   44  [88] ... Start -> CHB centred
  4659. Nr. 2:         60,    0       ... End   -> CHB left
  4660. Interpolation: linear
  4661. Variable:      top
  4662. Points:         2
  4663. Nr. 1:          0,   36  [72] ... Start -> CHB centred
  4664. Nr. 2:         60,    0       ... End   -> CHB top
  4665. Interpolation: linear
  4666. Now add the following effects:
  4667. {ADD LOADIMAGE}
  4668. {ADD SCALE}
  4669. {ADD COMPOSE}
  4670. Make the following selections:
  4671. Loadimage:
  4672. {SEQUENCE wftut:halve_size/frames/chB/pic}
  4673. {OUTPUT Temp1}
  4674. {REPEAT AT 60}
  4675. Scale:
  4676. {INPUT Temp1}   ... input picture
  4677. {OUTPUT Temp1}  ... Output picture
  4678. {WIDTH breite}  ... width
  4679. {HEIGHT hoehe}  ... height
  4680. {TYPE pixels}   ... Values in Pixel
  4681. {ASPECT ignore} ... Aspect will be ignored
  4682. Compose:
  4683. {BACKGROUND Stream}
  4684. {FOREGROUND Temp1}
  4685. {DESTINATION Stream}
  4686. {LEFT left}
  4687. {TOP top}
  4688. {MIX 100}
  4689. {CENTREX off}        ... pics will NOT be centred
  4690. {CENTREY off}        ... pics will NOT be centred
  4691. {GENLOCK SingleColor}
  4692. {ALL RGB-VALUES  0}
  4693. Start CONVERT!
  4694. Do you feel it?
  4695. Move on to @{" Part 7 " LINK Tut1-Teil7}.
  4696. @ENDNODE
  4697. @NODE Tut1-Teil7 "Part 7"
  4698. chab_fade.yafa
  4699. Both animations are now full size. In front is chb. We can look through the
  4700. background of chb and see cha. Cha will now be fadet out and a little bit
  4701. displaced.
  4702. {wftut:halve_size/results/chab_fade.yafa}
  4703. Variable:      probability
  4704. Points:         3
  4705. Nr. 1:          0,   0  ... probability for displacing a point
  4706. Nr. 2:         59,   0
  4707. Nr. 3:         60, 100
  4708. Interpolation: bezier
  4709. Variable:      brightness
  4710. Points:         3
  4711. Nr. 1:          0,   0  ... brigthness of CHA.
  4712. Nr. 2:         59, -10
  4713. Nr. 3:         60, -60
  4714. Interpolation: bezier
  4715. Variable:      radius
  4716. Points:         3
  4717. Nr. 1:          0,   0  ... radius within the points will be displaced
  4718. Nr. 2:         60,  20
  4719. Interpolation: linear
  4720. We add the following effects ...
  4721. {ADD LOADIMAGE}
  4722. {ADD DISPLACE}
  4723. {ADD BALANCING}
  4724. {ADD COMPOSE}
  4725. ... and make these selections:
  4726. Loadimage:
  4727. {SEQUENCE wftut:halve_size/frames/chB/pic}
  4728. {OUTPUT Temp1}
  4729. {REPEAT AT 60}
  4730. Displace:
  4731. {INPUT Stream}              ... input Pictures of Anim CHA
  4732. {OUTPUT Stream}             ... output Stream
  4733. {RADIUS Radius}             ... displace-radius
  4734. {PROBABILITY probability}   ... displace probability
  4735. {SEED probability}          ... start value for randomize
  4736. Balancing:
  4737. {INPUT Stream}        ... input picture
  4738. {OUTPUT Stream}       ... output picture
  4739. {alles auf 0}
  4740. {BRIGHT brightness}   ... brightness of anim CHA
  4741. Compose:
  4742. {BACKGROUND Stream}
  4743. {FOREGROUND Temp1}
  4744. {DESTINATION Stream}
  4745. {LEFT 0}
  4746. {TOP 0}
  4747. {MIX 100}
  4748. {CENTREX off}        ... pics will NOT be centred
  4749. {CENTREY off}        ... pics will NOT be centred
  4750. {GENLOCK SingleColor}
  4751. {ALL RGB-VALUES  0}
  4752. After this settings we start converting.
  4753. Let`s come to @{" Part 8 " LINK Tut1-Teil8}.
  4754. @ENDNODE
  4755. @NODE Tut1-Teil8 "Part 8"
  4756. chb.yafa
  4757. The animation will be generated without effects.
  4758. {PROCESSOR CLEAR}
  4759. The processor settings stay the same.
  4760. {MODE Color}
  4761. {DITHERING Floyd}
  4762. {DEPTH 5}
  4763. We have to use new INPUT-SINGLE PICTURES, as we don`t need the cha pictures
  4764. anymore!
  4765. {REMOVE RANGE}
  4766. There should be no more entries. Now ...
  4767. {ADDDIR wftut:halve_size/frames/chB}
  4768. Select ...
  4769. {wftut:halve_size/results/chb.yafa}
  4770. as output name and convert.
  4771. Now you reached the last part, @{" Part 9 " LINK Tut1-Teil9}.
  4772. @ENDNODE
  4773. @NODE Tut1-Teil9 "Part 9"
  4774. chb_fade.yafa
  4775. The animation CHB will be fadet out!
  4776. {wftut:halve_size/results/chb_fade.yafa}
  4777. Variable:      brightness
  4778. Points:         3
  4779. Nr. 1:          0,   0  ... brightness of animation CHB.
  4780. Nr. 2:         59, -10
  4781. Nr. 3:         60, -60
  4782. Interpolation: bezier
  4783. In the processor we ...
  4784. {ADD BALANCING}
  4785. ... and make the following selections
  4786. Balancing:
  4787. {INPUT Stream}        ... input picture
  4788. {OUTPUT Stream}       ... Output picture
  4789. {alles auf 0}
  4790. {BRIGHT brightness}  ... Helligkeit der Anim CHA
  4791. Now CONVERT.
  4792. Congratulations! You just generated all the needed animations! Now lets add
  4793. a small @{" Script " LINK Tut1-Script} to play the animations.
  4794. @ENDNODE
  4795. @NODE Tut1-Script "Script"
  4796. We start the editor:
  4797. {EDITOR}
  4798. We add all the generated animations to the list.
  4799. {ADD cha_wipe.yafa}
  4800. {ADD cha.yafa}
  4801. {ADD cha_rotate.yafa}
  4802. {ADD cha_twirl.yafa}
  4803. {ADD chab_wipe.yafa}
  4804. {ADD chab_scale.yafa}
  4805. {ADD chab_fade.yafa}
  4806. {ADD chb.yafa}
  4807. {ADD chb_fade.yafa}
  4808. Using INFO we make some settings for every animation:
  4809. {DISPLAY Zoomed} 2x2 zooming of the anims, or not.
  4810. {BUFFERS 4}      only 4 buffers, so we dont use too much memory
  4811. Choose these settings for all animations.
  4812. Now use
  4813. {PLAY ALL}
  4814. for playing the animations. Press {AMIGA M} and look at the memory. You
  4815. should have some empty fast-memory, otherwise you should change your
  4816. settings and use only 3 buffers for every animation!
  4817. The zooming, decrunching etc. works faster in the FAST memory!
  4818. Lets save the project!
  4819. {PROJECT wftut:halve_size/Wildfire.prj}
  4820. {SAVE}
  4821. With the external @{" YAFA " link yp.guide/MAIN} Player we can now play this
  4822. animations every time we want. Wildfire is
  4823. not necessary for playing the animations! YP (the player) can be downloaded
  4824. from the internet by everyone!
  4825. {YP -batch wftut:halve_size/Wildfire.prj}
  4826. Now you saw how to wor with some important functions of Wildfire.
  4827. For learning more about this great program read the documenation and test
  4828. the great possibilities of it!
  4829. Thank you for using this tutorial!
  4830. @ENDNODE
  4831. @remark /*************************************************************/
  4832. @remark /*
  4833. @remark                            Demos
  4834. @remark */
  4835. @remark /*************************************************************/
  4836. @node Demos
  4837.                           W K  -  A r t w o r k s
  4838.                             in cooperation with
  4839.                                  since april 92
  4840.                 .    ___ _   - the immortal force -  .
  4841.                 :   /\         _ _            _      :_ __         ___ _
  4842.             ___/|  /_ \_______/\_____________/\_____/|____________/\
  4843.            /\   | /  \ \   __/  \       / ____/   .__|__   _       /
  4844.           /  \  |/    \ \_ \/    \_____/.__/ \    |    |  /   :   /
  4845.          /    \_/      \    \   .___/   | /   \        |\/    |__/_ ___
  4846.         /       \      /    /   | | \    /     \       |/     : \
  4847.      .oO\  _____|\____/\_  /\_____|Oo\  _______/_______|\  _____/___ _
  4848.          \/__ _ :        \/_      :-Z!\/_ _    :       : \/__ _
  4849.                    
  4850. -----------------------------------------------------------------------------
  4851.         INFECT A PART OF LIFE ELEMENTS - A RELIGION CAN'T DIE !
  4852. @{b}           The following releases were made using Wildfire:
  4853. @{ub}
  4854.       @{" Dataworld 1 " link dw1}
  4855.       @{" Wild Summer " link ws1}
  4856.       @{" Dataworld 2 " link dw2}
  4857. @endnode
  4858. @node dw1
  4859.   Dataworld was released at The Party 1995 in Fredericia/Denmark.
  4860.   It finished second in the Wild Competition - a competition where
  4861.   no Hardware restrictions were given.
  4862.   With only 70 MB of (hard/cd)diskspace you will get
  4863.   a 10 MINUTE-FULL-SCREEN-VIDEO-SHOW that just needs an standard
  4864.   A1200 with 4 MB of Fast Ram to run.
  4865.   Dataworld consists of over 30 @{" YAFA " link yp.guide/MAIN} animations, all
  4866.   linked smoothly together using the great @{" Wildfire " link Wildfire.guide/MAIN}.
  4867.   With the @{" YAFA " link yp.guide/MAIN} player all the animations are
  4868.   played without interruption, even on a standard 4x CD rom!
  4869.   Dataworld can be found on:
  4870.   Aminet CD 11  (everything archived)
  4871.   MagnaMedia Amiga Magazin CD 5/6 96 (run from cd)
  4872.   CU amiga coverdisk 04/96 (run from cd)
  4873.   Scene Storm CD 1 (run from cd, use the fix IFT-SFIX.lha)
  4874.   Remember to use the latest @{" YAFA " link yp.guide/MAIN} player on your amiga!
  4875.   You can get it from the Aminet or from different coverdisks.
  4876.   Dataworld is copyrighted to:
  4877.   WK-Artworks                  (animations, Wildfire concept)
  4878.   Smack/Infect                 (@{" YAFA " link yp.guide/MAIN} concept)
  4879.   DJ Mellow-Noise/Infect       (music)
  4880.   Eksec/Infect                 (executive producing)
  4881. @endnode
  4882. @node ws1
  4883.   WiLD SuMMeR was released at `The Summer Party 96` in Denmark.
  4884.   It finished second in the Wild Competition - a competition without any
  4885.   Hardware-restrictions.
  4886.   With only 30 MB Place on CD/HD you`ll get a 4 Minutes full-screen Video
  4887.   which runs on an - todays - standard A1200 (at least 4 MB Fast).
  4888.   WilD SuMMeR consists of over 20 @{" YAFA " link yp.guide/MAIN} Animations, which
  4889.   were created using the great Wildfire.
  4890.   Using the latest @{" YAFA " link yp.guide/MAIN} player you can watch the show
  4891.   even from a ZIP-Drive or a 4X Speed CD-Rom without any gaps between the
  4892.   animations.
  4893.   WiLD SuMMeR is available on:
  4894.   Aminet CD 13                        (all animations archived)
  4895.   CU Amiga Cover CD                   (run from cd)
  4896.   MagnaMedia Amiga Magazin CD 3/4 97  (run from cd)
  4897.   WiLD SuMMeR copyrighted to:
  4898.   WK-Artworks                  (Animations, Wildfire concept)
  4899.   Smack/Infect                 (@{" YAFA " link yp.guide/MAIN} concept)
  4900.   DJ Mellow-Noise/Infect       (Music)
  4901.   Eksec/Infect                 (Executive Producing)
  4902. @endnode
  4903. @node dw2
  4904.   Dataworld 2 was released at The Party 1996 in Aars/Denmark.
  4905.   With 150 MB of (hard/cd)diskspace you will get a
  4906.   12 MINUTE-FULL-SCREEN-VIDEO-SHOW that just needs an standard
  4907.   A1200 with 4 MB of Fast Ram to run.
  4908.   Dataworld 2 consists of over 30 @{" YAFA " link yp.guide/MAIN} animations, all
  4909.   linked smoothly together using the great @{" Wildfire " link Wildfire.guide/MAIN}.
  4910.   With the @{" YAFA " link yp.guide/MAIN} player all the animations are
  4911.   played without interruption, even on a standard 6x CD rom!
  4912.   Dataworld 2 can be found on:
  4913.   MagnaMedia Amiga Magazin CD 3/4 97 (run from cd)
  4914.   Remember to use the latest @{" YAFA " link yp.guide/MAIN} player on your amiga!
  4915.   You can get it from the Aminet or from different coverdisks.
  4916.   Dataworld 2 is copyrighted to:
  4917.   WK-Artworks                  (animations, Wildfire concept)
  4918.   Smack/Infect                 (@{" YAFA " link yp.guide/MAIN} concept)
  4919.   DJ Mellow-Noise/Infect       (music)
  4920.   Eksec/Infect                 (executive producing)
  4921. @endnode
  4922. @remark /*************************************************************/
  4923. @remark /*
  4924. @remark                            Technical stuff
  4925. @remark */
  4926. @remark /*************************************************************/
  4927. @node Technical
  4928. @{b}Technical stuff: @{ub}
  4929. Wildfire is a very complex program written in pure ANSI-C.
  4930. Because the 10 MB of source-code are too "complicated"
  4931. for most of the Amiga-compilers we decided to use GCC.
  4932. One of these other "compilers" was even not able to *translate*
  4933. some portions of the ANSI-C-code - which is really poor.
  4934. GCC on the other side compiles all 200 modules producing
  4935. only 6 warnings.
  4936. The GUI was completely designed using GadToolsBox, Wildfire 3.45
  4937. has 141 windows containing 1600 gadgets (including all PlugIns).
  4938. This complexity makes it impossible to use one of these
  4939. "intelligent GUI-designers" because of the large overhead they
  4940. produce.
  4941. The main program was always designed for speed and not to
  4942. conserve memory (You can buy computers, memory, ...- but not time).
  4943. All 3d-operators are optimized to use a fpu. That means that they
  4944. operate fast on systems with fpu but may be worthless on other
  4945. systems. (For example a combination (PowerPlugs!) of a Bump3D-
  4946. and a Wrap-effect applied to an image of the dimensions 640x480
  4947. takes only 30 seconds on a 060-equipped machine.)
  4948. Because most floating-point-operations on the 060-processor
  4949. are faster than integer-manipulations I decided to use
  4950. "natural code" instead of cryptic integer-manipulations.
  4951. On the other side most 2d-operators are designed to be
  4952. fast on all machines. This made is necessary to replace
  4953. all floating-point-operations by integer-manipulations like
  4954. "luxa[j]=(WORD)((((dx2*ca+dy2*sa+VPREC2)>>SPREC)+cx+VPREC2)>>SPREC);".
  4955. As you can see we have put a lot work into this project, so
  4956.           @{b}PLEASE DON'T USE OR SPREAD PIRATE COPIES !@{ub}
  4957. @endnode
  4958. @node opRenderSettings
  4959. @{b}Render Settings@{ub}
  4960. From within this window all render-settings of various 3d-operators
  4961. supporting the @{" PowerPlugs! " link PowerPlugs!}-concept can be adjusted.
  4962. Most these options are ignored if the output of the selected effect ist
  4963. a 3d-temp-buffer. The only exception ist the parameter "Quant3D"
  4964. which affects the quality of both rendered images and transformed
  4965. objects.
  4966. @{b}Parameters@{ub}
  4967. Name        Possible Values/Unit            Description
  4968. @{uu}
  4969. Zoom        -10.0...10.0                    zoom factor for the whole image
  4970. CentreX,    pixels                          centre for zooming and rotating
  4971. CentreY     pixels
  4972. CamX,       pixels                          camera-position
  4973. CamY,       pixels
  4974. CamZ        pixels
  4975. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  4976. Alpha       degrees                         first rotation angle
  4977. Beta        degrees                         second rotation angle
  4978. Light       NORMAL, PHONG, OFF              type of the applied shading
  4979. Current     1...4                           select the lightsource to modify
  4980. LightX,     pixels                          position of the current lightsource
  4981. LightY,
  4982. LightZ
  4983. LightRed,   0...255                         color of the current lightsource
  4984. LightGreen,
  4985. LightBlue
  4986. Ambient     0.0...1.0                       ambient intensity
  4987. Diffuse     0.0...1.0                       diffuse intensity
  4988. Phong       0.0...1.0                       phong intensity
  4989. PhongSize   0.0...infinity                  size of the "phong-spot"
  4990. PhongAngle  degrees                         max-smoothing-angle for the phong-shader
  4991. Faces       NORMAL, DOUBLE                  draw the faces single- or double-sided
  4992. Quant3D     0.1...100.0                     @{" 3D-Quantization-Value " link pcQuant3D}
  4993. @{b}Functions@{ub}
  4994. Store       copy the current settings to an internal buffer
  4995. Import      import settings from the internal buffer
  4996. This functions are very useful if you have designed a "perfect
  4997. scene" and want to add some more effects to it. Just store
  4998. the settings of the last 3d-effect of your old script and apply
  4999. them to last of the new one.
  5000. @{b}Notes@{ub}
  5001. A) Camera Position
  5002. To simplify the selection of the right view the camera-position is
  5003. interpreted as follows. The (camX,camY)-pair causes a simple translation
  5004. of the generated object into the xy-plane and the camZ-value only
  5005. affects the perspective distortion. The object-size can be adjusted by
  5006. the zoom-parameter.
  5007. This makes it very easy to create effects starting from an untransformed
  5008. image. The camZ-values must be always in the range -100...-10000.
  5009. Small values like -200 cause "strange" views, large values like
  5010. -1000 cause the generation of a nearly parallel view. The actual limits
  5011. depend on the image-size but the preset-value of -800 should always
  5012. produce a "normal 3d-look".
  5013. B) Phong Shading
  5014. Phong shading is only applied to triangles or imported Lightwave-objects.
  5015. Rendering simple objects without "sharp edges" a phong-angle of
  5016. >180 degrees speeds up the computation.
  5017. C) Lightsources
  5018. If you have no idea about the various intensities here comes a more
  5019. detailed description:
  5020.  *ambient  : ambient intensity is the brighness of the object if all
  5021.              lightsources are turned off.
  5022.  *diffuse  : diffuse intensity is the intensity of light used to
  5023.              modify the object-color.
  5024.              (Therefore the combination ambient=1.0 and diffuse=0.0
  5025.              produces "flat" images.)
  5026.  *phong    : intensity of these nice "bright spots"
  5027.  *phongSize: size of the phong-spots, large values (like 10.0...100.0)
  5028.              produce surfaces with high gloss ("hardness")
  5029. D) Coordinate System
  5030. The follwing coordinate system is used while transforming and
  5031. rendering images:
  5032.                                    -y^
  5033.                                      |________
  5034.                    y^                |        |
  5035.                     | /z       ===>  |        |
  5036.                     |/               |        |
  5037.                      ---> x           ----------> x
  5038.                     3D-Object          image
  5039. @endnode
  5040. @node highend
  5041. @{b}           This HIGH END feature may be obtained seperatly!
  5042. @{ub}
  5043. After over two months of work for this plugin we are proud to present
  5044.               the @{" Axis3D " link opAxis3D} @{" Example " system "visage wf:doc/pictures/Axis3D.pic"}
  5045. operator! This one is only meant for HIGH END users and makes no sense
  5046. for all the other guys.
  5047. For getting an impression of the quality of this operator just take a look
  5048. at the example pictures available on the aminet:
  5049. pix/misc/wf_axis3d.lha
  5050. Read the @{" Shareware " link shareware}-section for the price!
  5051. @endnode
  5052.